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操作userdata
Apr 27 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
Jul 14 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
Nov 16 Javascript
Javascript动态引用CSS文件的2种方法介绍
Jun 06 Javascript
node.js中的Socket.IO使用实例
Nov 04 Javascript
jquery表单验证需要做些什么
Nov 17 Javascript
vue.js加载新的内容(实例代码)
Jun 01 Javascript
用vue封装插件并发布到npm的方法步骤
Oct 18 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
vue生成token并保存到本地存储中
Jul 17 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
Sep 01 Javascript
JavaScript 事件代理需要注意的地方
Sep 08 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页面运行时间的函数介绍
2013/07/01 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
php解决安全问题的方法实例
2019/09/19 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
Python循环语句中else的用法总结
2016/09/11 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
Linux内核产生并发的原因
2016/11/08 面试题
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
小学数学课后反思
2014/04/23 职场文书
停水通知
2015/04/16 职场文书
法律进社区活动总结
2015/05/07 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书