antd vue3 树形控件相关

//关键词搜索
function getTreeList(sourceList, keyWord) {
  const filterData = function (data) {
    // 遍历数组
    for (let i = 0; i < data.length; i++) {
      // 判断节点title是否包含关键字 如果有,那么直接进行下一循环
      if (data[i].menuName.indexOf(keyWord) > -1) continue;
      //  如果节点不是末节点
      if (data[i].childMenus && data[i].childMenus.length > 0) {
        // 这里进行递归,获取子节点列表
        data[i].childMenus = filterData(data[i].childMenus);
        // 判断子节点数组的长度是否为零,为零则说明改节点下的所有子孙节点的title都不包含关键字,那么就可以删除这个节点了
        if (data[i].childMenus && data[i].childMenus.length == 0) {
          data.splice(i, 1);
          i--;
        }
      } else {
        // 如果为子节点,那么直接删除
        data.splice(i, 1);
        i--;
      }
    }
    return data;
  };
  sourceList = filterData(sourceList);
  return sourceList;
}
//递归
 serverArray(arr) {
      var newArr = []
      this.selectArr = null
      for (var item = 0; item < arr.length; item++) {
        newArr.push({ name: arr[item]['name'], 
                      id: arr[item]['id'], 
                      parentId: arr[item] ['parentId'] }) //push数据
        if (arr[item].children.length != 0) {
          newArr[item].children = this.serverArray(arr[item].children)
        }
      }
      return newArr
    },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌桑楚客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值