很多时候都需要动态定义树节点,如功能菜单的第一级菜单可能是很多,组织架构的第一级的显示是分公司等等需求,Ext.tree.TreePanel也支持,但是网上很少有例子详细解释怎么实现。查阅了extjs的文档后,发现其实也很简单。只需要把TreePanel的rootVisible: false,就可以隐藏root节点,界面上第二级节点是root节点的显示效果了。
SysAdmin.TreePanel = Ext.extend(Ext.tree.TreePanel, {
initComponent: function() {
var config = {
title: "功能区",
animate: true,
autoScroll: true,
useArrows: true,
loader: new Ext.tree.TreeLoader(
{
dataUrl: '/Home/ListMenus'
}),
enableDD: true,
containerScroll: true,
rootVisible: false,
root: new Ext.tree.AsyncTreeNode({ id: '0' }),
border: false
};
Ext.apply(this, Ext.apply(this.initialConfig, config));
SysAdmin.TreePanel.superclass.initComponent.apply(this, arguments);
}
});