最近碰到一个需求,需要动手写一个支持树形结构的穿梭框。点击左边,当节点过去右边的时候需要增加禁用状态,下面是我写的一个递归函数
// 递归给树添加disable状态
// list 目标树
// key 需要禁用的树节点的key
function addDisabled(list, key) {
for (let i = 0, len = list.length; i < len; i++) {
//list[i].key中的key是树的唯一标识。
if (list[i].key === key) {
list[i].disabled = true
}
if (list[i].children && list[i].children.length) {
addDisabled(list[i].children, key)
}
}
}