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> < ...
随机推荐
- stagefright框架(七)-Audio和Video的同步
讲完了audio和video的处理流程,接下来要看的是audio和video同步化(synchronization)的问题.OpenCORE的做法是设置一个主clock,而audio和video就分别 ...
- git使用经验
一直想写一点关于git的文章,但是平时太懒了,没有写,现在写些经验这里,方便以后自己忘记了.
- 使用API查询天气
服务端代码 [HttpPost] public ActionResult GetWeather() { HttpWebRequest request = (HttpWebRequest)HttpWeb ...
- DEVC++生成DLL的方法
通过网上一个MD5加密算法源码生成DLL 一.建立DLL项目并编译 DEVC++创建C项目,选择DLL, 一共4个文件及源码如下: dll.h dllmain.c md5.c md5.h 函数参数: ...
- windows系统下搭建Python开发环境
1.首先下载最新的Python http://www.python.org/download/,我下载的是最新的Python3.5.1 2.下载完成之后开始安装,安装就比较简单了,一路下一步. 3.安 ...
- Octet string 解析
百度百科的 ASN.1 http://baike.baidu.com/view/26378.htm 什么是 octet string 结构化字节 怎么解析,这里有微软的解析方法 If the byte ...
- 基于excel9.h的excel处理
基于excel9.h的excel处理; #include "excel9.h" #include <iostream> using namespace std; cla ...
- canvas认识
1使用canvas绘制一个矩形 <canvas id="canvas" width="640" height="360">< ...
- 解决nginx上传模块nginx_upload_module传递GET参数
解决nginx上传模块nginx_upload_module传递GET参数的方法总结 最近用户反映我们的系统只能上传50M大小的文件, 希望能够支持上传更大的文件. 很显然PHP无法轻易实现大文件上传 ...
- Oracle EBS-SQL (MRP-7):检查MRP计划运行报错原因之超大数据查询2.sql
/*逐一运行检查计划运行超大数据*/ ---------------------------------------------------- -- PO Requisitions select * ...