vue如何通过ref判断是否存在class类名_vue表格树状结构的实现

本文介绍如何在Vue中通过自定义组件实现表格的树状结构,强调了数据转换和平级数据列表的重要性。讲解了如何利用Element UI库处理数据结构,创建map对象以方便操作自定义字段,并实现展开收起、上下移排序等功能。通过添加isOpen和isShow字段控制节点的显示和隐藏,同时利用rowNone类名进行显示隐藏控制。
摘要由CSDN通过智能技术生成
这绝对是我最后一次写树状结构,我非常的确定一定以及肯定! 上一篇文章总结了 vue树状目录组件,忘记的可以点击传送门回顾一下: vue目录树组件

bc5e2758c9b76990f040e6ec57a9102e.png

还是这个目录树,改版成 表格树状结构

我这里采用的UI库是Element,库自带了一种实现方式:

6732105863d2bfe2cd5e093cd71b47ad.png

但是这种自带的实现方式,可扩展性很差,就很low,而且这样偷懒会让自己的技术止步不前,心里不安呀。

首先明确实现逻辑,表格树状结构中所谓的树状,并不是数据结构上的树状,只是布局上的效果而已,这里要求的数据结构是平级的数据列表

还是上篇文章中说的,后端直接返回树状结构数据。

e8271c8920ade390f2acde8d81a5ddf9.png

所以这里需要对数据处理一下,将树状结构的数据转换成平级的。getTreeList 方法中调用接口先获取到后端数据。

getTreeList() {
        this.treeList = [];    Catalog.getListByParent(this.catalogId).then((res) => {
        if (res.status === 0) {
            const treeList = res.data || [];        const tableList: ITree[] = [];        this.setCatalogList(tableList, treeList);        this.treeList = treeList;        this.tableList = tableList;    }  });},

这里有个需要注意的点,接口返回的数据并没有直接赋给 this.treeList ,因为直接赋值之后 vue 不会一直监听数据的变化,而

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值