Vue实现省市区三级联动


Posted in Vue.js onDecember 27, 2020

本文实例为大家分享了Vue实现省市区三级联动的具体代码,供大家参考,具体内容如下

效果图:

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.js 相关文章推荐
如何使用 vue-cli 创建模板项目
Nov 19 Vue.js
vue使用require.context实现动态注册路由
Dec 25 Vue.js
浅析vue中的nextTick
Dec 28 Vue.js
手写Vue源码之数据劫持示例详解
Jan 04 Vue.js
Vue如何实现变量表达式选择器
Feb 18 Vue.js
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 Vue.js
Vue通过懒加载提升页面响应速度
May 10 Vue.js
深入理解Vue的数据响应式
May 15 Vue.js
springboot+VUE实现登录注册
May 27 Vue.js
Vue+Element UI实现概要小弹窗的全过程
May 30 Vue.js
vue+echarts实现多条折线图
Mar 21 Vue.js
vue项目配置sass及引入外部scss文件
Apr 14 Vue.js
vue3.0自定义指令(drectives)知识点总结
Dec 27 #Vue.js
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 #Vue.js
在vue项目中封装echarts的步骤
Dec 25 #Vue.js
vue中封装axios并实现api接口的统一管理
Dec 25 #Vue.js
Vue 简单实现前端权限控制的示例
Dec 25 #Vue.js
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 #Vue.js
vue使用require.context实现动态注册路由
Dec 25 #Vue.js
You might like
example2.php
2006/10/09 PHP
PHP下几种删除目录的方法总结
2007/08/19 PHP
php 广告调用类代码(支持Flash调用)
2011/08/11 PHP
php文件缓存类汇总
2014/11/21 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
PHP的全局错误处理详解
2016/04/25 PHP
php时间计算相关问题小结
2016/05/09 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
JS实现百度搜索框
2021/02/25 Javascript
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
Python3实现从文件中读取指定行的方法
2015/05/22 Python
python出现&quot;IndentationError: unexpected indent&quot;错误解决办法
2017/10/15 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
军训生自我鉴定范文
2013/12/27 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
ktv好的活动方案
2014/08/17 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
商务考察邀请函模板
2015/02/02 职场文书
正规借条模板
2015/05/26 职场文书
学生会干部任命书
2015/09/21 职场文书
爱国之歌(8首)
2019/09/29 职场文书
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript