vue怎样写一个三级联动?
Admin 2021-05-24 群英技术资讯 1930 次浏览
这篇文章给大家分享的是有关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省市区三级联动实现的介绍,上述示例有一定的借鉴价值,有需要的朋友可以参考一下,希望对大家学习vue框架有帮助,更多vue三级联动的内容可以关注其他相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录vue打包生成的js文件过大优化1.组件按需加载2.去掉生成map文件3.cdn引入4.路由懒加载5.代码压缩6.最后项目打包之后js文件太大问题问题描述1.使用cdn引入不怎么改变的第三方库2.使用vue的懒加载3.服务器和前端配置开启压缩vue打包生成的js文件过大优化1.组件按需加载现在大多的ui库都是以组件
这篇文章主要为大家详细介绍了vue+js实现微信上传图片选择功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
最近接触了vue.js,一度非常好奇vue.js是如何监测数据更新并且重新渲染页面,这篇文章主要给大家介绍了关于Vue源码学习之响应式是如何实现的相关资料,需要的朋友可以参考下
onclick是绑定事件,click本身是方法作用是触发onclick事件,只要执行了元素的click()方法,本片文章讲的很详细,大家可以看看,希望能够给你带来帮助
jquery中slow的意思是“缓慢的”,slow属性值用于控制jquery动画效果的动画速度,当参数值设置了“slow”时,元素的动画过程中会缓慢的改变元素的属性,语法为“元素对象.元素动画方法("slow")”。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008