树形结构数据处理,反向控制树形结构状态

2022-12-28  本文已影响0人  forever_bin

遇到这样的情况,一侧是树形结构,另一侧是选中的数据,当点击另一侧选中数据的删除按钮时候,不仅要删除数据,还要将一侧的树形结构checkbox状态更新,这时候就需要将树形结构的数据格式化

const result = dataArr.reduce((prev, next) => {
    prev[next.parentId] ? prev[next.parentId].push(next) : prev[next.parentId] = [next];
    return prev;
}, {});
       
Object.keys(result).map(key => {
    result[key].map((item, i) => {
        result[item.id] ? item.children = result[item.id] : ''
    });
}) 
console.log(result)
//这样result就是得到的格式化数据,拿到数据之后处理
for (var i in result) {
      this.state.chooseData.map((item1, index) => {
        if (item1.id === i) {
//当前id等于格式化数据的key的时候删除当前元素,树形结构和当前元素存在上下级关系
          this.state.chooseData.splice(index, 1)
        }
      })
    }
上一篇下一篇

猜你喜欢

热点阅读