您的位置:首页 > Web前端 > JavaScript

Extjs6 treepanel store无法加载请求后台URL数据bug

2017-09-22 10:54 609 查看
使用mvc(或者说mvvm吧)方式使用Extjs6框架,单独写的treestore配置给treepanel无法正常远程加载数据.

 

然后搜索到这样一篇博文:
https://www.oschina.net/question/189633_2142590
 

这位博主找到了bug出处---treepanel源代码中的applyStore()方法自动把treestore的proxy覆盖为了memory类型,所以proxy无法远程加载数据,相关代码如下:

Ext.define('Zlf.overrides.tree.Panel', {
override: 'Ext.tree.Panel',

applyStore: function(store) {
// private
// Note that this is not a config system applier. store is not yet a config.
// It just does the job of an applier and converts a config object to the true value
// for the setter to use.
var me = this;

if (Ext.isString(store)) {
store = me.store = Ext.StoreMgr.lookup(store);
} else if (!store || !store.isStore) {
store = Ext.apply({
type: 'tree'
// proxy: 'memory'
}, store);
if (me.root) {
store.root = me.root;
}
if (me.fields) {
store.fields = me.fields;
} else if (me.model) {
store.model = me.model;
}
if (me.folderSort) {
store.folderSort = me.folderSort;
}
store = me.store = Ext.StoreMgr.lookup(store);
} else if (me.root) {
store = me.store = Ext.data.StoreManager.lookup(store);
store.setRoot(me.root);
if (me.folderSort !== undefined) {
store.folderSort = me.folderSort;
store.sort();
}
}

return store;
}
});

没错,就仅仅把
// proxy: 'memory'
这一行去掉就好了,很简单不是吗?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: