vue实现省市区三级联动
2020-03-27 16:01:06来源:博客园 阅读 ()
vue实现省市区三级联动
首先呈现效果图
1.我的是通过element-ui实现的;可自由选择UI
2.话不多说,直接上代码,结构非常简单
1 <el-form ref="form" :model="form" label-width="100px"> 2 <el-form-item label=""> 3 一:vue实现城市联动选择 4 </el-form-item> 5 <el-form-item label=""> 6 一:可清除输入框记录 7 </el-form-item> 8 <el-form-item label="所在地区:" class="selform"> 9 <el-cascader 10 :options="CityInfo" 11 v-model="form.selectedOptions" 12 :change-on-select="true" 13 :clearable="true" 14 :filterable="true" 15 @change="handleChange"> 16 </el-cascader> 17 <span>所选地区:{{form.city | myAddressCity}}{{form.erae | myAddressErae}}{{form.minerae | myAddressMinerae}}</span> 18 </el-form-item> 19 </el-form>
3.js部分(重点部分是实现字段的重重过滤)
1 el: "#app", 2 data: { 3 CityInfo: CityInfo,//地区数据 4 form: { 5 city: '', 6 erae: '', 7 minerae: '', 8 selectedOptions: [],//地区筛选数组 9 }, 10 }, 11 methods: { 12 handleChange(value) { 13 this.form.city = this.form.selectedOptions[0]; 14 this.form.erae = this.form.selectedOptions[1] 15 this.form.minerae = this.form.selectedOptions[2] 16 }, 17 }, 18 /*字段过滤*/ 19 filters: { 20 myAddressCity: function (value) { 21 for (y in this.CityInfo) { 22 if (this.CityInfo[y].value == value) { 23 return value = this.CityInfo[y].label 24 } 25 } 26 }, 27 myAddressErae: function (value) { 28 for (y in this.CityInfo) { 29 for (z in this.CityInfo[y].children) { 30 if (this.CityInfo[y].children[z].value == value && value != undefined) { 31 return value = this.CityInfo[y].children[z].label; 32 } 33 } 34 } 35 }, 36 myAddressMinerae: function (value) { 37 for (y in this.CityInfo) { 38 for (z in this.CityInfo[y].children) { 39 for (i in this.CityInfo[y].children[z].children) { 40 if (this.CityInfo[y].children[z].children[i].value == value && value != undefined) { 41 return value = this.CityInfo[y].children[z].children[i].label 42 } 43 } 44 } 45 } 46 }, 47 },
4.城市数据代码格式
{ value: 1, label: '北京', children: [ { value: 1, label: '北京市', children: [ { value: 1, label: '东城区' }, { value: 2, label: '西城区' }, { value: 3, label: '崇文区' }, { value: 4, label: '宣武区' }, { value: 5, label: '朝阳区' }, { value: 6, label: '丰台区' }, { value: 7, label: '石景山区' }, { value: 8, label: '海淀区' }, { value: 9, label: '门头沟区' }, { value: 10, label: '房山区' }, { value: 11, label: '通州区' }, { value: 12, label: '顺义区' }, { value: 13, label: '昌平区' }, { value: 14, label: '大兴区' }, { value: 15, label: '怀柔区' }, { value: 16, label: '平谷区' }, { value: 17, label: '密云县' }, { value: 18, label: '延庆县' } ] } ] },
原文链接:https://www.cnblogs.com/qiaolezi/p/12525343.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-15
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-15
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-14
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-13
- 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查 2020-07-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash