需求:级联选择禁用
前3层级不允许选择
为级联的tree数据的前3层级添加禁用属性disabled:true即可
/**
* @param {Array} tree 最初始完整的树结构
* @param {number} disabledLevel 需要禁用的节点层级数
* @param {number} [currentLevel=0] 当前的禁用的层级
*/
function setDisableByLevel(tree, disabledLevel, currentLevel = 0) {
currentLevel++;
return tree.map((item) => {
const citem = {
...item,
children:
Array.isArray(item.children) &&
item.children.length > 0
? setDisableByLevel(item.children, currentLevel, disabledLevel)
: [],
level: currentLevel,
/* 默认不禁用 */
disabled: false,
};
/* citem创建完成,level属性才会被更新 */
if (citem.level <= disabledLevel) {
citem.disabled = true;
}
return citem;
});
}
3975

被折叠的 条评论
为什么被折叠?



