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 相关文章推荐
document对象execCommand的command参数介绍
Aug 01 Javascript
Prototype中dom对象方法汇总
Sep 17 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
Jan 15 Javascript
js关闭当前页面(窗口)的几种方式总结
Mar 05 Javascript
js验证整数加保留小数点的简单实例
Dec 02 Javascript
Python脚本后台运行的几种方式
Mar 09 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
Aug 15 Javascript
javascript关于继承解析
May 10 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
Feb 28 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
Mar 03 Javascript
jquery ajax 请求小技巧实例分析
Nov 11 jQuery
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 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遍历目录并返回统计目录大小
2014/06/09 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
简单实现php上传文件功能
2017/09/21 PHP
简单的php购物车代码
2020/06/05 PHP
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
jquery中animate动画积累的解决方法
2013/10/05 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
js实现简单秒表走动的时钟特效
2020/03/25 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
python 实现堆排序算法代码
2012/06/05 Python
python交互式图形编程实例(一)
2017/11/17 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
运动会广播稿80字
2014/01/23 职场文书
小学生学习感言
2014/03/10 职场文书
大学生自荐书范文
2015/03/05 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书