您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax |

vue递归实现自定义tree组件

51自学网 2022-05-02 21:33:55
  javascript

本文实例为大家分享了vue递归实现自定义tree组件的具体代码,供大家参考,具体内容如下

1. 在tree/index.vue中:

<template>  <div>      <ul>          <item :model='data'></item>      </ul>  </div></template> <script>import Item from './item'export default {    components:{        Item    },    data(){        return{            data:{                title:"一级1",                children:[                    {                        title:"二级1-1",                        children:[                            {                                title:"三级1-1-1",                                children:[                                    {                                        title:"四级1-1-1-1",                                        children:[                                            {                                                title:"五级1-1-1-1-1"                                            }                                        ]                                    }                                ]                            }                        ]                    },{                        title:'二级1-2',                        children:[                            {                                title:"三级1-2-1"                            }                        ]                    }                ]            }        }    }}</script>

2. item.vue组件:

<template>  <li>      <div @click="toggle">          {{model.title}}          <span v-if="isFolder">[{{open?'-':'+'}}]</span>      </div>      <ul v-show="open" v-if="isFolder">          <item v-for="(child,index) in model.children" :model='child' :key='index'></item>      </ul>  </li></template> <script>export default {    name:'Item',    props:{        model:{            type:Object,            required:true        }    },    data(){        return{            open:false        }    },    computed:{        isFolder(){           return this.model.children && this.model.children.length>0        }    },    methods:{        toggle(){            if(this.isFolder) this.open =!this.open        }    }}</script>

3. 在任意组件中使用:

<template>  <div class="index">      <Tree></Tree>  </div></template> <script>    import Tree from "@/components/tree"    components:{        Tree    }</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持wanshiok.com。


JS基于VUE组件实现城市列表效果
一篇文章搞定echarts地图轮播高亮
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1