jtree -禁用负载时的子节点自动选择


JSTree - Disable automatic selection of children on load

我需要在加载时禁用所有子元素的自动选择。如果我将一个父节点的selected参数设置为true,它将选择它的所有子节点,但我只想选择父节点。

$('#tree_groups').jstree({
        'plugins': ["wholerow", "checkbox", "types"],
        'core': {
            'data': [{
                "id": "0-14089749041",
                "text": "Sport",
                "state": {
                    "selected": true,
                },
                "children": [{
                "id": "14089749041-14089751330",
                "text": "Pallacanestro",},
                {"id": "14089749041-14089751110",
                "text": "Tennis",},
            ]},
        "types" : {
            "default" : {
                "icon" : "fa fa-group icon-state-warning icon-lg"
            },
            "file" : {
                "icon" : "fa fa-file icon-state-warning icon-lg"
            }
        }
    });

谢谢

我自己找到了答案,我刚刚将复选框插件的three_state设置为false。

$('#tree_groups').jstree({
    'plugins': ["wholerow", "checkbox", "types"],
    'core': {
        'data': [{
            "id": "0-14089749041",
            "text": "Sport",
            "state": {
                "selected": true,
            },
            "children": [{
            "id": "14089749041-14089751330",
            "text": "Pallacanestro",},
            {"id": "14089749041-14089751110",
            "text": "Tennis",},
        ]},
    "checkbox" : {
            "three_state" : false,
        },
    "types" : {
        "default" : {
            "icon" : "fa fa-group icon-state-warning icon-lg"
        },
        "file" : {
            "icon" : "fa fa-file icon-state-warning icon-lg"
        }
    }
});

我一直在寻找关于这个问题的正确答案的文章。这个问题可以用最简单的方法解决。在jtree实例中,只需添加一个事件,如下所示

.on('changed.jstree', function (e, data) {
    if (data.event === undefined) return false;
})