Ext.define('school.view.setting.access.AccessList', { extend: 'Ext.tree.Panel', xtype: 'setting-access-accesslist', reserveScrollbar: true, useArrows: true, rootVisible: false, multiSelect: true, singleExpand: false, columns: [{ xtype: 'treecolumn', text: '菜单', dataIndex: 'text', width: 160 }, { text: '显示', dataIndex: 'enable', xtype: 'actioncolumn', menuDisabled: true, align: 'center', handler: 'onToggleEnable', getClass: 'getEnableCls' }], initComponent: function() { var me = this; Ext.apply(me, { store: me.getStore() }); me.callParent(arguments); }, getStore: function() { var me = this, parent = me.up('setting-access-roleaccess'), viewModel = parent.getViewModel(), navStore = viewModel.get('navigationMenu'), store, data = []; navStore.each(function(r) { var items = r.get('items'); var children = items.map(function(item) { return { text: item.text, enable: false, leaf: true } }); data.push({ expanded: true, text: r.data.text, children: children, enable: false }); }); store = Ext.create('Ext.data.TreeStore', { fields: ['text', 'enable'], root: { text: 'root', expanded: true }, data: data, }); return store; } });