怎么用vue实现省市区的级联选择
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章主要介绍"怎么用vue实现省市区的级联选择",在日常操作中,相信很多人在怎么用vue实现省市区的级联选择问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用vu
千家信息网最后更新 2025年11月16日怎么用vue实现省市区的级联选择
这篇文章主要介绍"怎么用vue实现省市区的级联选择",在日常操作中,相信很多人在怎么用vue实现省市区的级联选择问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用vue实现省市区的级联选择"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、效果图
PC端的效果图:
移动端的效果图:
二、实现逻辑
我这里的实现逻辑是先通过省份来获取城市,然后通过城市来获取区县,街道因为不是固定的,所以让用户自己输入。获取对应市区的逻辑是:每个省份、城市、区县都有唯一的编码,然后省份编码的前两位跟城市是一样的,通过截取的方式来筛选出城市,然后城市的前四位编码跟区县的是一样的,也同样通过截取的方式来筛选出区县即可。
因为pc端我是使用了element-ui框架的select组件来实现的,所以省市区的数据结构是这样的:

移动端是使用了vant框架的van-picker组件实现的,数据结构跟PC端的会有所不同,所以省市区的数据结构是这样的:

三、相关代码
这一块的代码基本上是一样的,不一样的就是移动端的onchange事件可以直接拿到唯一的编号了,不需要像PC端那样需要进行切割了,这一块大家根据自己需要进行修改即可。
var app = new Vue({ el: '#app', data: { addressForm: { province: '', city: '', county: '', street: '' }, // 省市区的数据放在另外一个文件里面,我这里是直接从另外一个文件引入使用的 provinceList: areaList.provinceList, cityList: [], countyList: [] }, methods:{ // 省 bindProvinceChange(vals) { // 拿到省份对应的唯一编号 console.log('data========>', vals) let arr = vals.split('|') this.addressForm.province = arr[1] this.addressForm.city = ''; this.addressForm.county = ''; this.addressForm.street = ''; // 拿到对应的城市 this.cityList = this.addrInit(2, areaList.cityList, arr[0]); }, // 市 bindCityChange(vals) { console.log('vals------->', vals) this.addressForm.county = ''; this.addressForm.street = ''; let arr = vals.split('|') this.addressForm.city = arr[1] // 拿到对应的区县 this.countyList = this.addrInit(4, areaList.countyList, arr[0]); }, // 区县 bindCountyChange(vals) { console.log('vals------======>', vals) this.addressForm.street = ''; let arr = vals.split('|') this.addressForm.county = arr[1] }, // 将对象转为数组 transArray(obj) { let arr = []; for (let i in obj) { arr.push(obj[i]); } return arr; }, /** * 封装方法-获取相对应的省市区 * @param {number} num 截取的位数 * @param {*} list 要查询的数组 * @param {*} str 要截取的字符串 * @returns */ addrInit(num, list, str) { let strSub = str.substr(0, num); let arr = this.transArray(list); let newArr = arr.filter(function (val, index, arr) { let newStr = val.value.substr(0, num); return newStr == strSub; }); return newArr; }, } })到此,关于"怎么用vue实现省市区的级联选择"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
省市
省市区
城市
区县
选择
数据
省份
端的
学习
效果
效果图
数据结构
结构
编码
逻辑
移动
代码
数组
文件
方式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全职业证书考试
万方数据库是国有企业吗
软件开发可分为哪3个阶段
软件开发的组织结构
外网连接阿里服务器
政治安全网络安全工作情况
岳阳软件开发专业学校
丹江口信息软件开发学习
最新网络安全手抄报简单
数据库表如何授权
快手软件开发需要什么技术
华为软件开发年龄限制
流亡黯道 服务器
联想st558服务器内存问题
国拍网 服务器
达茂旗软件开发培训
win10基岩版怎么进服务器
python单例数据库
安徽gis bim软件开发
2020中国网络安全年会举行
sql数据库攻略
网络技术转让价格合理
梁溪区品牌软件开发活动简介
数据库 批量修改优先级
欧洲南方天文台的数据库
excel数据插去数据库
用友u8打开显示不能登录服务器
数据库高级检索sql语句
订餐数据库
网络安全设计过程