利用Vue怎么实现一个三级联动功能

发布时间:2020-12-28 14:16:52 作者:Leah
来源:亿速云 阅读:244

利用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>

看完上述内容,你们掌握利用Vue怎么实现一个三级联动功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. 利用Vue父子组件通信怎么实现一个todolist功能
  2. vue中怎么利用mint-ui实现三级联动

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue ue

上一篇:常见的Java后端面试题

下一篇:利用JavaScript怎么实现一个瀑布流布局

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》