如果使用setValue方法设置父节点的值时,子节点也会被选中,可以使用setDisabled方法来避免子节点被选中。

首先,在drawTree函数中,在tree的配置中添加一个回调函数onCheckChange,用于在节点选中状态发生改变时的回调函数:

tree: {
    //其他配置...
    onCheckChange: function (data) {
        //设置子节点的选中状态
        data.children.forEach(function (child) {
            tree1.setDisabled(child.value, !child.checked);
        });
    }
},

然后,在setValueForTree函数中,在设置父节点的值之后,调用setDisabled方法来设置子节点的选中状态:

function setValueForTree(valueString, treeId) {
    var valueArray = valueString.split(',');
    treeId.setValue(valueArray);
    
    //设置子节点的选中状态
    valueArray.forEach(function (value) {
        treeId.setDisabled(value, false);
    });
}

这样就可以避免父节点选中时子节点也被选中的情况

function drawTree $ajax url userLabelxmSelectTreehtmllabelType=industry async false type POST data null dataType json success

原文地址: https://www.cveoy.top/t/topic/izBZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录