Используя флажок, когда все дочерние узлы удалены, родительский узел также удаляется в JStree - PullRequest
0 голосов
/ 11 марта 2019

Если используется плагин CheckBox и все дочерние узлы были удалены, родительский узел также удаляется.

$('#jstree').jstree({
"core" : {
    "check_callback" : true,
    "data" : [
        { "text" : "Branch 1", "type" : "branch", "children" : [
            { "text" : "leaf 1.1", "type" : "leaf" },
            { "text" : "leaf 1.2", "type" : "leaf" },
            { "text" : "leaf 1.3", "type" : "leaf" }
           ]
        },
        { "text" : "Branch 2", "type" : "branch", "children" : [
            { "text" : "leaf 2.1", "type" : "leaf" },
            { "text" : "leaf 2.2", "type" : "leaf" },
            { "text" : "leaf 2.3", "type" : "leaf" }
           ]
        }
    ]
},
        "types" : {
            "#" : {
                "valid_children" : ["branch"]
            },
            "branch" : {
                "valid_children" : ["leaf"]
            },
            "leaf" : {
                "valid_children" : []
            }
        },
"plugins" : ["checkbox","types", "dnd", "contextmenu"]});

Вот демонстрационная версия jsFiddle. Посмотрите на это: http://jsfiddle.net/z8L5r9w3/1/

1 Ответ

1 голос
/ 11 марта 2019

Вы можете использовать свойства конфигурации флажка jsTree 'three_state' и 'cascade', чтобы родительский элемент не был выбран, когда выбраны все дочерние узлы. Используя приведенную ниже конфигурацию, вы можете отключить родительский выбор и убедиться, что дочерние узлы автоматически выбираются для выбора определенного родительского узла.

"checkbox" : {
  "three_state": false,
  "cascade": "down"
}

Вы также можете проверить документацию jsTree здесь

Редактировать: удаление свойства каскада гарантирует, что ни дочерние, ни родительские узлы не будут выбраны при выборе узла.

...