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全局变量var与不var的区别深入解析
Dec 09 Javascript
8个实用的jQuery技巧
Mar 04 Javascript
jQuery中:image选择器用法实例
Jan 03 Javascript
详解JavaScript中数组的相关知识
Jul 29 Javascript
利用10行js代码实现上下滚动公告效果
Dec 08 Javascript
通过fastclick源码分析彻底解决tap“点透”
Dec 24 Javascript
微信小程序实现人脸检测功能
May 25 Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 Javascript
详解微信小程序调用支付接口支付
Apr 28 Javascript
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
Vue 解决多级动态面包屑导航的问题
Nov 04 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
May 09 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
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
详解json在php中的应用
2018/09/30 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
显示、隐藏密码
2006/07/01 Javascript
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
用js怎么把&amp;字符换成&quot;&amp;amp:&quot;
2006/10/19 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
2016/06/08 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
从零学Python之引用和类属性的初步理解
2014/05/15 Python
python中执行shell的两种方法总结
2017/01/10 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
世界汽车零件:World Car Parts
2019/09/04 全球购物
EJB的几种类型
2012/08/15 面试题
护士优质服务演讲稿
2014/08/26 职场文书
街道务虚会发言材料
2014/10/20 职场文书
男生贾里读书笔记
2015/06/30 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书