使用本地存储保存的值作为根文本中的文本

时间:2015-06-18 05:27:11

标签: extjs tree local-storage store

我的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中显示静态值。

1 个答案:

答案 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();
    }
});