3

我遇到了 ExtJS4 的问题TreeStore。即使autoLoad设置为 false,商店也会被加载两次。

在我的情况下,我使用JSON阅读器来解析JSON响应并rootVisible在视图类中设置为 false。

我的 TreeStore 代码是:

Ext.define('xxx.HostHierarchy', {
    extend: 'Ext.data.TreeStore',
    autoLoad: false,

    proxy: {
        type: 'ajax',
        api: {
            read: '/xxx/hostsview.json'
        },
        reader: {
            type: 'json',
            totalProperty: 'total',
            successProperty: 'success',
            root: 'data'
        }
    }
});

经过一番搜索和调试,我发现如果rootVisible属性设置为false,那么 root 的扩展属性将设置为 true ,这会触发多个请求。

为了避免这种情况,我添加了

setRootNode: function(node) {
    var me = this;
    if (node != undefined) {
        node.expanded = false;
    }
},

但它不起作用。

有人可以建议我如何避免这种情况。由于这种多重加载,在我的 UI 屏幕上,所有树节点都出现了两次。

ExtJS 版本是 4.0.5。

谢谢并恭祝安康,

纳里

4

0 回答 0