位置: IT常识 - 正文

中国省市区地区选择组件(ElementPlus + Vue3 + TS )(中国各省市区域划分)

编辑:rootadmin
中国省市区地区选择组件(ElementPlus + Vue3 + TS ) 中国省市区地区选择组件(ElementPlus + Vue3 + TS )安装npm install element-china-area-data -S介绍1.引用import { provinceAndCityData, regionData, provinceAndCityDataPlus, regionDataPlus, CodeToText, TextToCode } from 'element-china-area-dat2.用法

推荐整理分享中国省市区地区选择组件(ElementPlus + Vue3 + TS )(中国各省市区域划分),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:中国省份及市区,中国省份及市区,中国省份及市区,中国省市区地区划分,中国省市区地区地图,中国省市区地区划分,中国省市区地区划分,中国省市区地区划分,内容如对您有帮助,希望把文章链接给更多的朋友!

中国省市区地区选择组件(ElementPlus + Vue3 + TS )(中国各省市区域划分)

provinceAndCityData:省市数据(不带“全部”选项) regionData:省市区数据(不带“全部”选项) provinceAndCityDataPlus:省市区数据(带“全部”选项) regionDataPlus:省市区数据(带“全部”选项) CodeToText:例如:CodeToText[‘110000’]输出北京市 TextToCode:例如:TextToCode[‘北京市’].code输出110000

代码<template> <div class="areabox"> <el-select v-model="address.province" placeholder="请选择省" :style="{ width: `${prop.width}px`, marginRight: `${prop.gap}px` }" @change="handleProvinceSelect"> <el-option v-for="item in regionData" :label="item.label" :value="item.value" /> </el-select> <el-select v-model="address.city" placeholder="请选择市" :disabled="!address.province || cityList.length == 0" :style="{ width: `${prop.width}px`, marginRight: `${prop.gap}px` }" @change="handleCitySelect"> <el-option v-for="item in cityList" :label="item.label" :value="item.value" /> </el-select> <el-select v-model="address.area" placeholder="请选择区" :style="{ width: `${prop.width}px` }" :disabled="!address.province || !address.city || areaList.length == 0" @change="handleAreaSelect"> <el-option v-for="item in areaList" :label="item.label" :value="item.value" /> </el-select> </div></template><script lang="ts" setup>import { reactive, computed, ComputedRef } from 'vue'import { regionData, CodeToText } from 'element-china-area-data'const prop = withDefaults( defineProps<{ gap: string | number //选择框中间间隙 width: string | number //选择框宽度 }>(), { gap: '8', width: '210' })//抛出地址const emit = defineEmits<{ (e: 'getAddress', data: { code: string[] //区域码 name: string[] //汉字 isComplete: boolean //是否选择完整,方便校验 }): void}>()let address = reactive<{ province: string city: string area: string}>({ province: '', city: '', area: ''})interface AreaList { value: string label: string children?: AreaList[]}//切换省份函数const handleProvinceSelect = () => { address.city = '' address.area = '' emit('getAddress', { code: [address.province], //区域码 name: [CodeToText[address.province]], //汉字 isComplete: false })}//切换城市函数const handleCitySelect = () => { address.area = '' emit('getAddress', { code: [address.province, address.city], //区域码 name: [CodeToText[address.province], CodeToText[address.city]], //汉字 isComplete: areaList.value.length == 0 ? true : false })}//切换地区函数const handleAreaSelect = () => { emit('getAddress', { code: [address.province, address.city, address.area], //区域码 name: [CodeToText[address.province], CodeToText[address.city], CodeToText[address.area]], //汉字 isComplete: true })}//二级城市列表const cityList: ComputedRef<AreaList[]> = computed((): AreaList[] => { if (!address.province) { return [] } let temp = regionData.find((item: any) => { return item.value == address.province }) return temp.children ? temp.children : []})//三级地区列表const areaList: ComputedRef<AreaList[]> = computed((): AreaList[] => { if (!address.province || !address.city) { return [] } if (cityList.value.length == 0) { return [] } else { let temp = cityList.value.find((item: any) => { return item.value == address.city }) if (temp) { return temp.children ? temp.children : [] } else { return [] } }})</script><style scoped>.areabox { display: flex; align-items: center;}</style>效果图

1.项目需要这种三个下拉选择框

2.选择地址

表单校验//这里只展示地址选择部分import type { FormRules } from 'element-plus'export const FJRrules = reactive<FormRules>({ adress:[ {required: true,validator: addressValidator , trigger: 'change' } ],})const addressValidator = (rule: any, value: any, callback: any) => { if (!value) { //没有选择的情况 return callback(new Error('请选择省/市/区')) } setTimeout(() => { if (!value.isComplete) { //没有选择完整 callback(new Error('请完善地址')) } else { callback() } }, 100)}<template><el-form ref="FJRformRef" inline :model="FJRForm" label-width="120px" :rules="FJRrules"><el-form-item prop="adress" label="省/市/区" required> <area-selected @get-address="handleGetAdress"></area-selected> </el-form-item></el-form></template><script lang="ts" setup>import { FJRrules } from '这里是校验ts文件的地址';const FJRForm = reactive({adress:null,})//接收省市区地址选择组件函数const handleGetAdress = (data:any)=>{ FJRForm.adress = data}</script>
本文链接地址:https://www.jiuchutong.com/zhishi/283457.html 转载请保留说明!

上一篇:Win11 Dev 预览版 22483更新发布推送(附完整更新内容)(win10dev预览版)

下一篇:mtask.exe - mtask是什么进程 有什么用

  • 什么是节税?
  • 怎样填写增值税普通发票
  • 联合体项目工程款如何拨付
  • 与生产相关的关键成功因素包括
  • 个体户生产经营个人所得税
  • 税票抵扣是用进项票还是销项票
  • 装修公司一般纳税人税率是多少啊
  • 企业总资产是否包含累积折旧
  • 企业递延所得税费用的计算公式
  • 未收回质保金是否需要交纳增值税呢?
  • 国税几年都没有缴纳
  • 增值税普通发票税率
  • 收到的专票都必须开吗
  • 不缴地税国税可停票吗?
  • 雄安新区纳入综合考核
  • 加权平均净资产收益率等于企业净利润除以
  • 新办企业注册资本和投资总额
  • 公司发生的费用需要交税吗
  • 公司单位员工餐费怎么算
  • 专业做电热水器哪些品牌
  • 红字发票是销货单据吗
  • 物业公司哪些收费项目
  • 模具费用如何平摊到产品上
  • 会计中如何区分借方和贷方
  • 代理进口增值税客户不抵扣,进出口公司可以抵扣吗
  • 国家减免税收
  • win10打开txt
  • 公司收到加盟费怎么做会计分录
  • perl.exe是什么程序?
  • 安装win7前需要手动格式化c盘吗
  • 什么是所得税收入
  • 莱姆 惨败
  • openai创始人阿尔特曼 取向
  • 应付利息和利息支出什么时候用
  • 个人所得税手续费收入如何做账
  • 上月增值税报表还可以更正吗
  • 小规模季末税费处理
  • 进项税抵增值税
  • php clone函数
  • 酌量性固定成本是指
  • 一般纳税人增值税减免政策2023
  • 转账结算的原则是什么
  • 个人所得税计入应付职工薪酬吗
  • 以前年度损益调整是什么意思
  • 职工福利费如何入账
  • 职工福利费的计提比例为职工工资总额扣除奖金后的
  • 员工医药费属于什么费用
  • 固定资产折旧方法不考虑净残值
  • 营业外支出的用法
  • 测试账户收入怎么处理
  • 预付账款属于资产类科目
  • 审核通过的红字信息表可以删除吗
  • 公司补缴社保怎么查不到
  • 纳税人可以委托税务人员办理纳税申报吗
  • 建立明细账的操作步骤
  • sql server如何
  • sqlserver怎么恢复数据
  • win2008如何安装telnet
  • ubuntu 安装指定位置
  • u极速u盘装系统
  • linux中locate命令的作用
  • windows定时关机计划
  • 深入解析windows第8版
  • win8.1玩游戏卡
  • win7电脑dns存在问题怎么修复
  • node.js模块化
  • rsync安装使用详解
  • cmd打开telnet
  • 增删改查的语句
  • 优化lr
  • nodejs function
  • 详解Python的collections模块中的deque双端队列结构
  • 小型微利企业所得税优惠
  • 个体工商户地税没有注销有影响吗
  • 出口汇率以什么为准
  • 中建七局企业精神是什么
  • 珠海南湾国际属于香洲哪个街道
  • 入库税收怎么根据完税证明
  • portal
  • 山东税务自然人注册怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设