最近在学习vuejs,写了一个城市三级联动效果,可以用在项目中的收获地址管理,支持新增与修改操作

HTML

<script src="https://npmcdn.com/vue/dist/vue.js"></script>
<div id="demo">
<address
:province="province"
:city="city"
:county="county"
></address>
</div>
<script type="x/template" id="address-template">
<div>
<select v-model='province'>
<option value="">请选择</option>
<option v-for="item in provinces" value="{{item}}">{{item}}</option>
</select>
<select v-model='city'>
<option value="">请选择</option>
<option v-for="item in citys" value="{{item}}">{{item}}</option>
</select>
<select v-model='county'>
<option value="">请选择</option>
<option v-for="item in countys" value="{{item}}">{{item}}</option>
</select>
</div>
</script>

JavaScript


var addressExtend=Vue.extend({
template:"#address-template",
props:{
province:{
type:String,
default:''
},
city:{
type:String,
default:''
},
county:{
type:String,
default:''
}
},
data:function(){
return {
addressData:null
}
},
init:function(){
var that=this
setTimeout(function(){
that.addressData={
'湖南':{
'长沙':{
"开福区":{},
"岳麓区":{}
},
'怀化':{
'沅陵':{},
'溆浦':{}
}
},
'广东':{
'广州':{
'天河区':{},
'越秀区':{}
},
'深圳':{
'宝安':{},
'南山':{}
}
}
}
},1000)
},
watch:{
province:function(val,oldval){
if(val!==oldval){
this.city=''
}
},
city:function(val,oldval){
if(val!==oldval){
this.county=''
}
}
},
computed:{
provinces:function(){
if(!this.addressData)return var c=[]
for(var key in this.addressData){
c.push(key)
} return c
},
citys:function(){
if(!this.addressData
|| !this.province)
return var c=[]
for(var key in this.addressData[this.province]){
c.push(key)
} return c
},
countys:function(){
if(!this.addressData
||!this.city)
return var c=[]
for(var key in this.addressData[this.province][this.city]){
c.push(key)
} return c
}
}
}) Vue.component('address',addressExtend) var demo1=new Vue({
el:'#demo',
data:{
province:'广东',
city:'广州',
county:'天河区'
}
})

去jsfiddle手动试试

此文同步发表于Segmentfault

vuejs 三级联动的更多相关文章

  1. js封装的三级联动菜单(使用时只需要一行js代码)

    前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大 ...

  2. 利用select实现年月日三级联动的日期选择效果

    × 目录 [1]演示 [2]规划 [3]结构生成[4]算法处理 前面的话 关于select控件,可能年月日三级联动的日期选择效果是最常见的应用了.本文是选择框脚本的实践,下面将对日期选择效果进行详细介 ...

  3. jQuery省市区三级联动插件

    体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端. 手机扫描二维码体验效果: 代码如下: <!DOCTYPE html> &l ...

  4. jQuery - 全国省市县三级联动

    最近有空用jquery做了一个全国省市县的三级联动,在以后或许可以用的到 ,遗憾的是我还没用封装,等有空看能不能封装成一个插件 废话不多说,贴上代码: <!doctype html> &l ...

  5. 省市区三级联动 pickerView

    效果图 概述 关于 省市区 三级联动的 pickerView,我想大多数的 iOS 开发者应该都遇到过这样的需求.在遇到这样的需求的时候,大多数人都会觉的这个很复杂,一时无从下手.其实真的没那么复杂. ...

  6. webForm(三)——三级联动

    三级联动 首先附图一张,初步认识一下什么是三级联动:                           注:选第一个后面两个变,选第二个,最后一个改变. 其次,做三级联动需要注意的方面:①DropD ...

  7. C#三级联动

    1.运用ComboBox的控件建立效果,如右图: 2.建立三个表,第一个Province表: PID,PName;第二个为city表: CId,CName,PId;第三个为coun表:CounID,C ...

  8. JS省市区三级联动

    不需要访问后台服务器端,不使用Ajax,无刷新,纯JS实现的省市区三级联动. 当省市区数据变动是只需调正js即可. 使用方法: <!DOCTYPE html><html>< ...

  9. easyUI下拉列表三级联动

    首先是先想好数据库的搭建,通过地区id,地区名称,上级地区id就可以实现,所有省市区的数据 例如: DAO层 service层 Servlet 页面 <!DOCTYPE html> < ...

随机推荐

  1. Paxos算法深入分析

    在分布式系统设计领域,Paxos可谓是最重要一致性的算法.Google的大牛们称   All working protocols for asynchronous consensus we have ...

  2. Excel中将时间格式转化成时间戳格式

    时间戳转成正常日期的公式:C1=(A1+8*3600)/86400+70*365+19其中A1表示当时的1249488000时间戳数值其中C1就是所需的日期格式,C1单元格属性改成日期格式就可以了.正 ...

  3. ASP.NET 开发框架汇总

    先简单记录一下,以后慢慢添加 1.ASP.NET Aries 2.ASP.NET DevExpress

  4. ARCGIS接口详细说明

    ArcGIS接口详细说明 目录 ArcGIS接口详细说明... 1 1.      IField接口(esriGeoDatabase)... 2 2.      IFieldEdit接口(esriGe ...

  5. myEclipse + phonegap-2.9.0 总跳出3个脚本提示

    环境:myEclipse + phonegap-2.9.0按照教程全部完毕后,浏览页面时,总会跳出3个脚本提示:1:gap:["Device","getDeviceInf ...

  6. Django 模板中引用静态资源(js,css等)

    Django 模板中免不了要用到一些js和CSS文件,查了很多网页,被弄得略晕乎,还是官网靠谱,给个链接大家可以自己看英文的. https://docs.djangoproject.com/en/1. ...

  7. CodeForces 203C Photographer

    简单贪心.注意内存够大,能满足所有顾客的特殊情况. #include <iostream> #include <cstring> #include <algorithm& ...

  8. MYSQL truncate table

    准备: 要说truncate table 就要先说一下delete 它们两个都可以用来从表中删除数据行!表面上看是delete 删除的慢一些,truncate table 快一些. delete : ...

  9. Android中Handle详解

    上图为本人总结的Handler,网上发现一片总结很好的博客就copy过来:作为参考 Handler有何作用?如何使用? 一 .Handler作用和概念 包含线程队列和消息队列,实现异步的消息处理机制, ...

  10. GNU所有软件下载,其中最有意思的是octave

    http://ftp.gnu.org/gnu/ 最有意思的是octave:https://www.gnu.org/software/octave/http://ftp.gnu.org/gnu/octa ...