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 相关文章推荐
ExtJS 简介 让你知道extjs是什么
Dec 29 Javascript
JavaScript 设计模式 安全沙箱模式
Sep 24 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
Oct 20 Javascript
css transform 3D幻灯片特效实现步骤解读
Mar 27 Javascript
Javascript之this关键字深入解析
Nov 12 Javascript
javascript中直接引用Microsoft的COM生成Word
Jan 20 Javascript
浅析Jquery操作select
Dec 13 Javascript
Flask中获取小程序Request数据的两种方法
May 12 Javascript
js技巧之十几行的代码实现vue.watch代码
Jun 09 Javascript
使用localStorage替代cookie做本地存储
Sep 25 Javascript
js 将多个对象合并成一个对象 assign方法的实现
Sep 24 Javascript
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
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
codeigniter框架批量插入数据
2014/01/09 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
onmouseover事件和onmouseout事件全面理解
2016/08/15 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
2019/09/23 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
Python探索之Metaclass初步了解
2017/10/28 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
Python实现某论坛自动签到功能
2019/08/20 Python
python3实现微型的web服务器
2019/09/03 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
以太网Ethernet IEEE802.3
2013/08/05 面试题
班风口号
2014/06/18 职场文书
大四毕业生自荐书
2014/07/05 职场文书
国际会计专业求职信
2014/08/04 职场文书
2015年妇女工作总结
2015/05/14 职场文书
律师函格式范本
2015/05/27 职场文书
开学典礼观后感
2015/06/15 职场文书
周一给客户的问候语
2015/11/10 职场文书