el-tree 字节点全选的状态下 只需要父级id 同时半选情况下需要子级id 初步解决方案

 数据部分 

 data() {
    return {
      data: [
        {
          id: 1,
          label: "一级 1",
          children: [
            {
              id: 4,
              label: "二级 1-1",
            },

            {
              id: 9,
              label: "三级 1-1-1",
            },
            {
              id: 10,
              label: "三级 1-1-2",
            },
          ],
        },
        {
          id: 2,
          label: "一级 2",
          children: [
            {
              id: 5,
              label: "二级 2-1",
            },
            {
              id: 6,
              label: "二级 2-2",
            },
          ],
        },
        {
          id: 3,
          label: "一级 3",
          children: [
            {
              id: 7,
              label: "二级 3-1",
            },
            {
              id: 8,
              label: "二级 3-2",
            },
          ],
        },
      ],
      defaultProps: {
        children: "children",
        label: "label",
      },
    };
  },

方法部分

 methods: {
    getTreeAll(tree) {
      let arr = [];
      let brr = [];
      if (!!tree && tree.length !== 0) {
        tree.forEach((item) => {
          if (item.children != undefined) {
            item.children.forEach((items) => {
              brr.push(items);
            });
          }
          for (let index in brr) {
            if (item.id === brr[index].id) {
              return false;
            }
          }
          arr.push(item);
        });
      }
      return arr;
    },
    getnode() { 
      let arr = this.$refs["tree"].getCheckedNodes();
      let data = this.getTreeAll(arr);
      console.log(data);
      // console.log(arr);
    },
  },

你可能感兴趣的:(el-tree 字节点全选的状态下 只需要父级id 同时半选情况下需要子级id 初步解决方案)