位置: 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是什么进程 有什么用

  • 成功励志故事(成功励志故事大全)

    成功励志故事(成功励志故事大全)

  • 华为nova深色模式怎么打开(华为nova深色模式关闭)

    华为nova深色模式怎么打开(华为nova深色模式关闭)

  • 钉钉不小心点到连麦怎么取消(点击钉钉)

    钉钉不小心点到连麦怎么取消(点击钉钉)

  • 音量键自动加怎么解决(音量键自动加音量是怎么回事)

    音量键自动加怎么解决(音量键自动加音量是怎么回事)

  • 怎样取消拼多多订阅物流动态(怎样取消拼多多订单)

    怎样取消拼多多订阅物流动态(怎样取消拼多多订单)

  • 微信二维码不小心重置了(微信二维码不小心发给别人了)

    微信二维码不小心重置了(微信二维码不小心发给别人了)

  • 抖音举报后有什么反应(抖音举报后什么时候封号)

    抖音举报后有什么反应(抖音举报后什么时候封号)

  • 在携程网上订的火车票怎么取(在携程网上订的票怎么查询)

    在携程网上订的火车票怎么取(在携程网上订的票怎么查询)

  • 电脑一直充电对电池会不会有影响(电脑一直充电对电脑好吗)

    电脑一直充电对电池会不会有影响(电脑一直充电对电脑好吗)

  • 电脑未检测到摄像头怎么办(电脑未检测到摄像头设备是什么意思)

    电脑未检测到摄像头怎么办(电脑未检测到摄像头设备是什么意思)

  • 手机照片背景图怎么换(手机照片背景图怎么换成白色)

    手机照片背景图怎么换(手机照片背景图怎么换成白色)

  • 怎么查收邮件(电子邮件怎么弄)

    怎么查收邮件(电子邮件怎么弄)

  • 抖音的密码怎么解(抖音的密码怎么放)

    抖音的密码怎么解(抖音的密码怎么放)

  • 如何将手机的歌传到mp3(如何将手机的歌曲导入sd卡)

    如何将手机的歌传到mp3(如何将手机的歌曲导入sd卡)

  • oppo左上角hd是什么(oppo手机左上角hd)

    oppo左上角hd是什么(oppo手机左上角hd)

  • 华为手机一接电话就黑屏(华为手机一接电源就关机)

    华为手机一接电话就黑屏(华为手机一接电源就关机)

  • 华为手机录屏有时间限制吗(华为手机录屏有白点怎么取消掉)

    华为手机录屏有时间限制吗(华为手机录屏有白点怎么取消掉)

  • 怎么使用北斗导行系统(怎么使用北斗导航)

    怎么使用北斗导行系统(怎么使用北斗导航)

  • 怎么下载cad(怎么下载cad2014安装包)

    怎么下载cad(怎么下载cad2014安装包)

  • oppor15x电池耐用吗(oppor15x电池怎么样)

    oppor15x电池耐用吗(oppor15x电池怎么样)

  • 快手号搜不出来怎么回事(为什么搜快手号搜不出来)

    快手号搜不出来怎么回事(为什么搜快手号搜不出来)

  • 华为p30尺寸规格(华为p30尺寸规格是多少)

    华为p30尺寸规格(华为p30尺寸规格是多少)

  • cad多边形快捷键(cad多边形快捷键是什么)

    cad多边形快捷键(cad多边形快捷键是什么)

  • initdb命令  初始化数据库(init 4命令)

    initdb命令 初始化数据库(init 4命令)

  • 2022年最新电脑学习网防红站-在线生成短链接绿标系统免费下载-电脑学习网(2022年最新电脑操作系统)

    2022年最新电脑学习网防红站-在线生成短链接绿标系统免费下载-电脑学习网(2022年最新电脑操作系统)

  • 增值税的计税金额
  • 餐饮税务每个月几号报税
  • 资产负债表第二季度年初余额怎么填
  • 去参加博览会的英文
  • 发票没有银行账号可以收不
  • 财务费用中的汇兑收益增加的原因
  • 公司的会议议程怎么写
  • 航天金税盘证书口令错误
  • 异地项目预缴个人所得税
  • 企业报废固定资产的净损失应确认为企业的费用
  • 建筑业预缴税款是什么意思
  • 企业税费计算
  • 房地产出租是否缴纳土地增值税
  • 新个税法案专项扣除如何实施
  • 非货币性资产交换补价大于25%的会计处理
  • 汽车租赁用不用交税
  • 支付职工医药费计入什么科目
  • 新公司做财务
  • 公司向税务局缴纳环保税
  • 办公室购置空调的词语
  • 怎样查询单位上月社保缴纳情况
  • 通用机打发票单位名称打不下怎么办
  • 增值税怎么转
  • 增值税发票抵扣进项税什么意思
  • 更换银行印鉴需要本人吗
  • 税法种类及税率
  • 资产处置损益借贷方向表示什么
  • 供应商给客户员工回扣有罪吗
  • 坏账准备和资产减值损失
  • windows10如何开启vt
  • 如何禁用bios里的secure boot
  • 注册会计师考试科目有哪些
  • 其它权益工具投资处置时其他综合收益转那
  • 预缴增值税会产生滞纳金吗
  • 鸿蒙系统怎么开启OTG
  • 所有者权益会计科目借贷方向
  • hotkey osd driver可以卸载吗
  • php图片库
  • 建筑设备出租并配备人员
  • PHP:mcrypt_list_algorithms()的用法_Mcrypt函数
  • 公司向个人支付劳务费
  • thinkphp教程
  • smarty怎么用
  • 银行贷款利息已划转支付
  • php7.3安装
  • 【类ChatGPT】本地CPU部署中文羊驼大模型LLaMA和Alpaca
  • pnmdp
  • SSD目标检测算法
  • 旅行社怎样进行营销
  • 商贸公司库存商品有哪些
  • SQLite教程(十四):C语言编程实例代码(2)
  • 其他权益工具投资公允价值变动怎么计算
  • 开专票明细太多怎么开
  • 四种股利分配政策及适用情况
  • 以前年度损益调整
  • 研发人员工资计入什么科目
  • 建筑业异地预缴企业所得税怎么算
  • 企业跨年度的收入退回应该如何进行会计处理?
  • 茶农的茶叶自产自销需要办哪些证
  • 股东追加投资如不追加会怎样
  • 保险公司理赔时会查多久的病史
  • 计划成本法和实际成本法的适用范围
  • 开了票收不到钱怎么做账
  • 如何远程连接小米摄像头
  • win8defender怎么打开
  • win10rs2是哪个版本
  • win8如何安装
  • windows vhd
  • unity shader lod
  • 慎用小儿百部止咳糖浆
  • linux的启动顺序
  • javascript中cookie
  • javascript总结笔记
  • jquery实现图片横向移动
  • 23种设计模式全解
  • python语言及应用
  • 纳税信用等级在哪里查
  • 临时税务登记纳税人
  • 经济适用房土地使用年限
  • 什么是个税扣缴期限
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设