这篇文章主要介绍vue递归组件之如何实现简单树形控件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联专注于企业成都营销网站建设、网站重做改版、西塞山网站定制设计、自适应品牌网站建设、H5响应式网站、商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为西塞山等各大城市提供网站开发制作服务。
1、递归组件-简单树形控件预览及问题
在编写树形组件时遇到的问题:
组件如何才能递归调用?
递归组件点击事件如何传递?
2、树形控件基本结构及样式
小学
语文 数学
3、组件目录及数据结构
目录结构
vue-tree
VueTree.vue
TreeItem.vue
树形控件数据结构
let treeData = [ { text: "一级", // 显示的文字 expand: false, // 默认是否展开 children: [ // 子节点 { text: "一级-1", expand: false, }, { text: "一级-2", expand: false, children: [ { text: "一级-2-1", expand: false, }, { text: "一级-2-2", expand: false, } ] } ] } ];
3.1、 TreeItem.vue 代码
{{treeItemData.text}}0">
3.1.1、解决 组件如何才能递归调用? 问题
在组件模板内调用自身 必须明确定义组件的name属性 ,并且递归调用时组件名称就是name属性。如在 TreeItem.vue 组件中组件的name名称为'TreeItem',那么在template中调用时组件名称就必须是
当然也可以全局注册组件,具体可以查看vue官方文档 递归组件
3.1.2、解决 递归组件点击事件如何传递? 问题
我这里的解决方案是使用 props 将事件函数传递进来,在点击节点的时候调用事件函数,并把相应的数据传递进去。
之前也尝试过使用 $emit 的形式并把数据传递过去,由于是递归组件,这样一直 $emit ,到最外层时传递的数据就变了,比如传递是第3层节点的数据,到最后执行时数据就变成第1层节点的数据了
4、 VueTree.vue 组件
5、使用树形组件
以上是“vue递归组件之如何实现简单树形控件”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!