我遇到了 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。
谢谢并恭祝安康,
纳里