我的extjs View中有一个treeView,我需要将本地存储变量的值作为根名称。当用户成功登录时,本地存储的值被输入:
Ext.define('Eits.view.OrgTreeView', {
extend : 'Ext.tree.TreePanel',
requires: ['Eits.model.OrgTreeModel'],
width : '100%',
region : 'center',
border : true,
user = this.localStorageProvider.get('name'),
store : {
xtype : 'tree',
fields : Eits.model.OrgTreeModel.FIELDS,
//model: 'Eits.model.OrgTreeModel',
autoLoad: false,
root: {
id: 'rootNode',
objectId : 'rootNode',
leaf: false,
expanded: false,
text : this.user,
iconCls : 'mts-Tree-Node',
},
proxy: {
type: 'ajax',
url: 'orgTree/getNavigationTree.action',
actionMethods: 'POST',
reader: {
type: 'json',
root: 'data'
}
}
},...
有没有办法可以从本地存储中获取值并将其作为名称传递给树的根。当我将静态值传递给商店中的text
字段时也是如此。 s root,它确实在我的UI中显示静态值。
答案 0 :(得分:1)
只需在initComponent
内移动树存储的创建:
Ext.define('Eits.view.OrgTreeView', {
extend: 'Ext.tree.TreePanel',
requires: ['Eits.model.OrgTreeModel'],
width: '100%',
region: 'center',
border: true,
initComponent: function() {
this.store = Ext.create('Ext.data.TreeStore', {
fields : Eits.model.OrgTreeModel.FIELDS,
autoLoad: false,
root: {
id: 'rootNode',
objectId : 'rootNode',
leaf: false,
expanded: false,
text: localStorageProvider.get('name'),
iconCls: 'mts-Tree-Node',
},
proxy: {
type: 'ajax',
url: 'orgTree/getNavigationTree.action',
actionMethods: 'POST',
reader: {
type: 'json',
root: 'data'
}
}
});
this.callParent();
}
});