怎么用vue实现省市区的级联选择
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"怎么用vue实现省市区的级联选择",在日常操作中,相信很多人在怎么用vue实现省市区的级联选择问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用vu
千家信息网最后更新 2026年11月04日怎么用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安全错误
数据库的锁怎样保障安全
互联网佳科技有限公司
湖南永感互联网科技有限公司
为想互联网科技怎么样
互联网科技活动banner
科技和互联网公司
互联网科技金融公司
中国 科技 互联网
一五八零互联网科技
科技伦理 互联网公司
中国最先进互联网科技公司
苏州五指互联网络科技有限
消费医药和互联网科技
互联网在线教育科技创业
广州富喜互联网络科技
中天科技中国工业互联网
张召忠谈中国互联网科技
广州互联网高科技取餐柜
亚光科技低轨卫星互联网
互联网的黑科技实验室
前海云享互联网科技
保险科技 互联网保险
互联网金融科技创新
银优互联网科技有限公司
长亮科技互联网金融
互联网金融科技委员会
温州喔噻互联网科技有限公司
智腾互联网科技有限公司
工业互联网山东科技大学
容联科技互联网电商
互联网科技企业文化