300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Vue实现省市区三级联动 下拉框 简单易懂

Vue实现省市区三级联动 下拉框 简单易懂

时间:2020-02-04 16:23:46

相关推荐

Vue实现省市区三级联动 下拉框 简单易懂

效果图:

代码:

<!DOCTYPE html><html><head><meta charset="GBK"><title></title><style></style></head><body><div id="app" ><select v-model='prov' @change="changeCity();changeCity1()"><option v-for="(item,i) in items">{{item.name}}</option></select>-- <select v-model='city' @change="changeCity1"><option v-for="(item,i) in cityArr">{{item.name}}</option></select>-- <select v-model='city1'><option v-for="(item,i) in cityArr1">{{item.name}}</option></select> <p>您选中的是:{{prov}}-{{city}}-{{city1}}</p></div> </body><script src="vue.js"></script><script>var id=1;new Vue({el:'#app',data:{prov:'北京',city:'',city1:'',items:[{name:'北京',sub:[{name:'北京市',sub:[{name:'北京市11'},{name:'北京市12'},{name:'北京市13'}]},{name:'北京市2',sub:[{name:'北京市21'},{name:'北京市22'},{name:'北京市23'}]},]},{name:'江西',sub:[{name:'南昌市',sub:[{name:'高新区'},{name:'西湖区'},{name:'瑶湖区'}]},{name:'赣州市',sub:[{name:'赣州市1'},{name:'赣州市2'},{name:'赣州市3'}]},{name:'抚州市',sub:[{name:'抚州市1'},{name:'抚州市2'},{name:'抚州市3'}]}]}],cityArr:[],cityArr1:[]},mounted:function(){//执行默认选择this.changeCity();this.changeCity1();},methods:{changeCity:function(){//省切换var me=this;var item ;me.items.forEach(function(ele){if(ele.name===me.prov){//判断与prov是否相等,相等的表示被切换选中的省份item = ele;}})if(item){this.cityArr=item.sub;//将选中的item的sub设置给cityArr 用于显示市this.city=item.sub[0].name;//默认选择第一个市this.cityArr1=[];this.city1='';}},changeCity1:function(){//市切换var me=this;var item ;me.cityArr.forEach(function(ele){if(ele.name===me.city){//判断与city是否相等,相等的表示被切换选中的市item = ele;}})if(item){this.cityArr1=item.sub;//将选中的item的sub设置给cityArr1 用于显示区this.city1=item.sub[0].name;//默认选择第一个区}}}})</script></html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。