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中的toFixed固定小数位数 简单实例分享
Jul 12 Javascript
Jquery中ajax方法data参数的用法小结
Feb 12 Javascript
JavaScript 模块化编程(笔记)
Apr 08 Javascript
js判断空对象的实例(超简单)
Jul 26 Javascript
JS设置CSS样式的方式汇总
Jan 21 Javascript
JS在浏览器中解析Base64编码图像
Feb 09 Javascript
CodeMirror js代码加亮使用总结
Mar 25 Javascript
微信小程序之圆形进度条实现思路
Feb 22 Javascript
JavaScript设计模式之职责链模式应用示例
Aug 07 Javascript
史上最为详细的javascript继承(推荐)
May 18 Javascript
微信小程序如何利用getCurrentPages进行页面传值
Jul 01 Javascript
Vue中this.$nextTick的作用及用法
Feb 04 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
DC的38部超级英雄动画电影
2020/03/03 欧美动漫
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
菜单效果
2006/10/14 Javascript
js chrome浏览器判断代码
2010/03/28 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
vue项目中使用Svg的方法
2018/10/24 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
[02:58]魔廷新尊——痛苦女王至宝语音台词节选
2020/06/14 DOTA
详解Python中的日志模块logging
2015/06/19 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
详解Django-auth-ldap 配置方法
2018/12/10 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
python和php哪个更适合写爬虫
2020/06/22 Python
软件工程师面试题
2012/06/25 面试题
租房协议书
2014/04/10 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python