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 相关文章推荐
用js实现下载远程文件并保存在本地的脚本
May 06 Javascript
javascript垃圾收集机制与内存泄漏详细解析
Nov 11 Javascript
获取3个数组不重复的值的具体实现
Dec 30 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
JavaScript中九种常用排序算法
Sep 02 Javascript
jquery.map()方法的使用详解
Jul 09 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
May 05 Javascript
JS实现的表格行上下移动操作示例
Aug 03 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
Aug 11 Javascript
iconfont的三种使用方式详解
Aug 05 Javascript
微信小程序HTTP请求从0到1封装
Sep 09 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
Mar 06 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
php 获取完整url地址
2008/12/20 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
Yii框架日志记录Logging操作示例
2018/07/12 PHP
sina的lightbox效果。
2007/01/09 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
2018/05/04 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
Python批量发送post请求的实现代码
2018/05/05 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
python装饰器常见使用方法分析
2019/06/26 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
一个C/C++编程面试题
2013/11/10 面试题
单位委托书范本
2014/04/04 职场文书
经典演讲稿汇总
2014/05/19 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL