iview填坑之Tree树型组件

本文主要介绍了如何处理iview Tree组件的数据,当后端提供的数据非树形结构时,需要前端进行转换。同时,针对iview官方样式的局限,文章提供了使用render函数自定义样式的方法,包括点击查询、选中效果以及自定义鼠标样式等功能,以满足实际业务需求。
摘要由CSDN通过智能技术生成
<Tree ref="tree" :data="treeContents" :render="renderContent"></Tree>

1. 先来说说数据

iview的Tree组件的data数据是树结构的,例如下面代码所示:

 export default {
        data () {
            return {
                treeContents: [
                    {
                        title: '一级目录',
                        expand: true,
                        children: [
                            {
                                title: '二级目录1',
                                expand: true,
                                children: [
                                    {
                                        title: '三级目录1'
                                    },
                                    {
                                        title: '三级目录2'
                                    }
                                ]
                            },
                            {
                                title: '二级目录2',
                                expand: true,
                                children: [
                                    {
                                        title: '三级目录1'
                                    },
                                    {
                                        title: '三级目录2'
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        }

但是,如果后端提供的数据,不是上面的树型结构数据时,就需要前端对后端提供的数据进行“树型处理”。用到数据结构中树的遍历相关知识。this.convertTree(data.root, this.map);对后端提供的数据进行“树型处理”。比如要构造处下面这种数据形式的tree目录:

 export default {
        data () {
            return {
                treeContents: [
                    {
                        id: 'id',
                        parentId: 'paren
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值