【问题标题】:Data Binding at wrong time in JstreeJstree中错误时间的数据绑定
【发布时间】:2019-04-10 10:26:09
【问题描述】:

使用 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 事件之后调用。这可能解释了节点状态,但对我没有帮助。

我每次打开节点时都需要它来调用网络服务器,因为自上次查看以来,子节点表示的项目可能已经更改。那就是可能有更多/不同/更少的节点。

整个上午都花在这上面,看不出我做错了什么(或者应该做不同的事情)。有什么想法吗?

谢谢

【问题讨论】:

    标签: json ajax jstree


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 2018-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多