编程语言
首页 > 编程语言> > javascript-如何使jstree在初始化时为空?

javascript-如何使jstree在初始化时为空?

作者:互联网

单击按钮后,我向控制器发送一些密钥,并使用json获取列表,列表中的数组就像我的jstree中的孩子一样,

 $("#btnSearch").on("click", function () {
        alert("I'm also here");
        $.ajax({
            type: "POST",
            url: "/Claims/JSTree",
            success: function (response) {

                var clients = [];
                var claimKeys = [];
                $.each(response.ClientNames, function (i, item) {
                    clients.push(item);
                });
                alert(clients);
                $.each(response.ClaimNumbers, function (i, item) {
                    claimKeys.push(item);
                });
                alert(claimKeys);
                $('#FolderTree').jstree({
                    'core': {
                        'data': [
                           {
                               'text': 'Client',
                               'state': {
                                   'opened': false,
                                   'selected': false
                               },
                               'children': clients
                           },
                            {
                                'text': 'Claim key',
                                'state': {
                                    'opened': false,
                                    'selected': false
                                },
                                'children': claimKeys
                            },                               
                         ]
                    },
                    "plugins": ["checkbox"]
                });
            }
        });
    });
});

第一次一切正常,当第二次我传递不同的键时,我得到了列表,它甚至显示了警报中的值,但我的jstree仍然保留了以前的值.除非停止并重新启动调试,否则jstree不会变成空..是否有一种方法可以在用子对象填充之前清空jstree?

解决方法:

尝试使用以下代码,该代码首先破坏实例:

...
var tmp = $('#FolderTree').jstree(true);
if(tmp) { tmp.destroy(); }
$('#FolderTree').jstree({ ...

还要确保您使用的是最新的jsTree版本.

标签:jstree,javascript,jquery
来源: https://codeday.me/bug/20191120/2042940.html