Jstree中错误时间的数据绑定

问题描述 投票:0回答:1

使用jstree v3我有

this.elements.$tree.jstree({
            core: {
                data: function (node, successCallback) {
                    // Handle node expansion
                    thisTmp._expandNode(node, successCallback);
                },
...

这在第一次打开节点并转到我的服务器并获取子节点时工作正常。如果我然后关闭节点它也被调用,我想在那时不打扰服务器。此外,如果我然后重新打开节点,则根本不调用此函数。

调查我发现传递的节点总是具有loading: true状态,其他所有节点都设置为false。

进一步调查表明,在before_open.jstree事件之前和after_close.jstree事件之后调用此函数。这可能解释了节点状态,但对我没有帮助。

每次打开节点时我都需要它来调用Web服务器,因为子节点表示的项目可能自上次查看后发生了变化。也就是说,可能存在更多/不同/更少的节点。

整个上午花了这么多,看不出我做错了什么(或者应该做的不同)。有任何想法吗?

谢谢

json ajax jstree
1个回答
0
投票

好的我找到了解决方案......

在after_close事件中,我将节点的加载状态设置为false。这导致jstree在我下次打开节点时再次触发加载,并且我得到任何更新的树项。

© www.soinside.com 2019 - 2024. All rights reserved.