ExtJS4树存储加载两次

时间:2012-08-16 20:18:06

标签: extjs4

我遇到了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'
        }
    }
});

经过一番搜索& debug,我发现如果rootVisible属性设置为false,则root的扩展属性将设置为true,从而触发多个请求。

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

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

但它不起作用。

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

ExtJS版本是4.0.5。

谢谢和问候,

纳莉

0 个答案:

没有答案