vuejs 三级联动
最近在学习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 三级联动的更多相关文章
- js封装的三级联动菜单(使用时只需要一行js代码)
前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大 ...
- 利用select实现年月日三级联动的日期选择效果
× 目录 [1]演示 [2]规划 [3]结构生成[4]算法处理 前面的话 关于select控件,可能年月日三级联动的日期选择效果是最常见的应用了.本文是选择框脚本的实践,下面将对日期选择效果进行详细介 ...
- jQuery省市区三级联动插件
体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端. 手机扫描二维码体验效果: 代码如下: <!DOCTYPE html> &l ...
- jQuery - 全国省市县三级联动
最近有空用jquery做了一个全国省市县的三级联动,在以后或许可以用的到 ,遗憾的是我还没用封装,等有空看能不能封装成一个插件 废话不多说,贴上代码: <!doctype html> &l ...
- 省市区三级联动 pickerView
效果图 概述 关于 省市区 三级联动的 pickerView,我想大多数的 iOS 开发者应该都遇到过这样的需求.在遇到这样的需求的时候,大多数人都会觉的这个很复杂,一时无从下手.其实真的没那么复杂. ...
- webForm(三)——三级联动
三级联动 首先附图一张,初步认识一下什么是三级联动: 注:选第一个后面两个变,选第二个,最后一个改变. 其次,做三级联动需要注意的方面:①DropD ...
- C#三级联动
1.运用ComboBox的控件建立效果,如右图: 2.建立三个表,第一个Province表: PID,PName;第二个为city表: CId,CName,PId;第三个为coun表:CounID,C ...
- JS省市区三级联动
不需要访问后台服务器端,不使用Ajax,无刷新,纯JS实现的省市区三级联动. 当省市区数据变动是只需调正js即可. 使用方法: <!DOCTYPE html><html>< ...
- easyUI下拉列表三级联动
首先是先想好数据库的搭建,通过地区id,地区名称,上级地区id就可以实现,所有省市区的数据 例如: DAO层 service层 Servlet 页面 <!DOCTYPE html> < ...
随机推荐
- 浏览器渲染页面过程描述,DOM编程技巧以及重排和重绘。
一.浏览器渲染页过程描述 1.浏览器解析html源码,然后创建一个DOM树. 在DOM树中,每一个HTML标签都有一个对应的节点(元素节点),并且每一个文本也都有一个对应的节点(文本节点). DOM树 ...
- bach cello
http://bachlb.blog.163.com/blog/static/1819105120073275251223 一个偶然的机会,卡萨尔斯的父亲来巴塞罗那看卡萨尔斯,并且一起去逛了一间海边的 ...
- 加密html
2009年4月4日 周六 22:18 <HTML> <HEAD> <meta http-equiv="Content-Type" content=&q ...
- stuts1:(Struts)Action类及其相关类
org.apache.struts.action.Action类是Struts的心脏,也是客户请求和业务操作间的桥梁.每个Action类通常设计为代替客户完成某种操作.一旦正确的Action实例确定, ...
- qt界面不显示的原因
用qt designer弄了一个qq.ui 新建一个空项目,把qq.ui加入,新建一个qq类,qq.h如下 #ifndef QQ#define QQ #include <QMainWindow& ...
- vim中使用gdb。
引用文章A:http://easwy.com/blog/archives/advanced-vim-skills-vim-gdb-vimgdb/ 引用介绍:使用vimgdb来完成gdb的嵌入. 需要的 ...
- android的reference table的问题
写得android程序总是崩溃,感觉像是内存泄露,但是检查代码发现该释放的都释放了.最终无奈,删除了接口函数中的调用,只使用下面的测试代码. JNIEXPORT jboolean JNICALL Ja ...
- mysql的四种隔离级别
一.READ UNCOMMITTED(未提交读) 在READ UNCOMMITTED级别,事务中的修改,即使未提交,对其他事务也都是可见的.事务可以读取未提交的数据,这也被称为脏读( Dirty RE ...
- humble number(hd1058)
Problem Description A number whose only prime factors are 2,3,5 or 7 is called a humble number. The ...
- webapi文档
webapi文档描述-swagger 最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员.这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员 ...