el-tree筛选时保留父节点和子节点

发布时间 2023-11-30 16:58:20作者: sinceForever
 watch: {
    filterText(val) {
      console.log('val', val);
      this.$refs.tree.filter(val);
    }
  }, 

methods:

// 筛选
    filterNode(value, data, node) {
      if (!value) return true;
      let _array = []; //这里使用数组存储 只是为了存储值。
      this.getReturnNode(node, _array, value);
      let result = false;
      _array.forEach((item) => {
        result = result || item;
      });
      return result;
    },
    getReturnNode(node, _array, value) {
      let isPass =
        node.data && node.data.label && node.data.label.indexOf(value) !== -1;
      isPass ? _array.push(isPass) : '';
      if (!isPass && node.level != 1 && node.parent) {
        this.getReturnNode(node.parent, _array, value);
      }
    },