Vue.js组件tree实现省市多级联动


Posted in Javascript onDecember 02, 2016

小颖在上一篇随笔中写了两级的tree,下面给大家再分享一下用<ul><li>标签实现省市多级联动。

调用示例:

<template>
<div>
<treeview :model='treedata'></treeview>
</div>
</template>

<script>
import treeview from './TreeView.vue'
export default {
 components: {
 treeview
 },
 props: {

 },
 method:{

 },
 ready:function(){

 },
 data(){
 return {
 treedata:{text:'地域',
 children: [{
 text: '中国',
 children: [{
  text: '陕西省',
  children: [{
  text: '西安市',
  children: [{
  text: '碑林区'
  }, {
  text: '雁塔区'
  }, {
  text: '未央区区'
  }, {
  text: '新城区'
  }]
  }, {
  text: '安康市'
  }, {
  text: '咸阳市',
  children: [{
  text: '秦都区'
  }, {
  text: '渭城区'
  }]
  }, {
  text: '渭南市'
  }]
 }, {
  text: '四川省',
  children: [{
  text: '成都市'
  }, {
  text: '绵阳市'
  }, {
  text: '广元市'
  }]
 }, {
  text: '安徽省'
 }]
 }, {
 text: '俄罗斯'
 }]}}
 }
 }
</script>

 组件代码:

<style scoped>
ul,li{
 list-style-type: none;
}

</style>
<template>
 <li>
 <div @click='toggle'><span v-if='hasLeaves'>[{{open ? '-' : '+'}}]</span>{{model.text}}</div>
 <ul>
 <treeview v-for='model in model.children' :model='model' v-show='open'></treeview>
 </ul>
 </li>
</template>

<script>
export default {
 name: 'treeview',
 props: {
 model: {
 type: Object
 }
 },
 methods: {
 toggle:function(){
 this.open=!this.open;
 }
 },
 ready: function() {},
 computed:{
 hasLeaves: function() {
 return this.model.children && this.model.children.length
 }
 },
 data() {
 return {
 open: false
 }
 }
}
</script>

效果图:

Vue.js组件tree实现省市多级联动

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
不懂JavaScript应该怎样学
Apr 16 Javascript
JS按位非(~)运算符与~~运算符的理解分析
Jul 31 Javascript
jquery操作 iframe的方法
Dec 03 Javascript
基于JQuery制作可编辑的表格特效
Dec 23 Javascript
js用拖动滑块来控制图片大小的方法
Feb 27 Javascript
详解Bootstrap glyphicons字体图标
Jan 04 Javascript
基于js实现checkbox批量选中操作
Nov 22 Javascript
AngularJS动态菜单操作指令
Apr 25 Javascript
vue之数据交互实例代码
Jun 16 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
Oct 31 Javascript
详解Vue单元测试Karma+Mocha学习笔记
Jan 31 Javascript
js+css3实现炫酷时钟
Aug 18 Javascript
Vue2实现组件props双向绑定
Dec 02 #Javascript
关于Vue.js一些问题和思考学习笔记(2)
Dec 02 #Javascript
基于jQuery实现表格的排序
Dec 02 #Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
Dec 02 #Javascript
关于Vue.js一些问题和思考学习笔记(1)
Dec 02 #Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
Dec 02 #Javascript
基于javascript实现的快速排序
Dec 02 #Javascript
You might like
自动分页的不完整解决方案
2007/01/12 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
javascript读取xml
2006/11/04 Javascript
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
javascript时间差插件分享
2016/07/18 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
js实现简单图片拖拽效果
2021/02/22 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
Python中os模块功能与用法详解
2020/02/26 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
秘书行业自我鉴定范文
2013/12/30 职场文书
中学教师自我鉴定
2014/02/07 职场文书
学习十八大的心得体会
2014/09/01 职场文书
2014年团队工作总结
2014/11/24 职场文书
市场总监岗位职责
2015/02/11 职场文书
遗失证明范文
2015/06/19 职场文书
调解协议书范本
2016/03/21 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS