vue element-plus el-tree树型组件,展开收起

本文介绍如何在JavaScript中实现一个树形结构的展开与收起功能,利用Vue.js的`el-tree`组件,通过改变`default-expanded-keys`实现节点的全选与全折叠。关键在于维护一个`expandArr`数组来存储展开的节点,并更新`expandText`以显示当前状态。

在js上写下一下代码

// 展开收起树
  const expandTree = () => {
    expandBoolean.value = !expandBoolean.value
    expandText.value = expandBoolean.value ? '全部收起' : '全部展开'
    let nodes = tree.value.store.nodesMap
    console.log('nodes', tree.value.store)
    for (let i in nodes) {
      nodes[i].expanded = expandBoolean.value
    }
  }

html部分

<div>
          <el-input
            v-model="searchKey"
            placeholder="请输入关键字进行过滤"
            style="width: 260px; height: 32px; padding: 20px 0px 10px 15px"
          />
          <p class="aside-text" @click="expandTree">{{ expandText }}</p>
          <div class="tree-block">
            <el-tree
              ref="tree"
              :data="treeData"
              :props="defaultProps"
              node-key="label"
              :default-expanded-keys="expandArr"
              :default-expand-all="expandBoolean"
              highlight-current
              :filter-node-method="filterMethod"
              @node-click="handleNodeClick"
          /></div>
        </div>

这里需要注意下  如果要实现上面expandTree的展开收起树的方法,需要 :default-expanded-keys="expandArr" 这句话  并在js定义expandArr未空数组,这样展开收起就可以了

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值