Jstree的`open_node`不能在子节点上同步工作

时间:2019-02-25 13:24:46

标签: javascript jquery ajax jstree

以下代码使用通过ajax调用更新的数据初始化jstree插件。

var jstree_obj = 
$('#jstree_obj').jstree({
    'core' : {
        'data' : {
                "url" : function (node) {
                    return node.id == '#' ? baseurl + "/query" : baseurl + "/query/"+node.id;
                }
            }
        }
});

在单击按钮时触发以下函数,该函数返回一个分层元素数组。 [child-P, child-P.child-Q, child-P.child-Q.child-R and so on..]

$('button#btnAdd').click(() => {
    $.ajax({
        url: ajax_url,
        type: 'POST',
        dataType: 'JSON',
    }).done((data) => {
        $.each(data, (k, id) => {
            me(id);
        })
    });
})

对于每个子元素,我都需要扩展它的节点,以便子节点在下一个函数调用时可见。

async function me(id) {
  await jstree_obj.jstree().open_node(id);
}

输出

在jstree UI中,仅第一个孩子的节点(child-P)被展开。其余子节点不会扩展。我在这里想念什么?

0 个答案:

没有答案