首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在tree.Panel中单击项目时加载新的panel.Panel

在tree.Panel中单击项目时加载新的panel.Panel
EN

Stack Overflow用户
提问于 2013-07-13 04:11:51
回答 1查看 875关注 0票数 0

我是ExtJS新手,每次在tree.Panel中点击项目时都需要加载新的面板

这是我创建新面板的代码(默认)

代码语言:javascript
复制
var contentPanel = Ext.create('Ext.panel.Panel', {
        id: 'content-panel',
        region: 'center',
        layout: 'card',
        activeItem: 0,
        border: false,
        items: [dict_modules['profiles-area']]
    });

此代码用于创建tree.Panel

代码语言:javascript
复制
var treePanel = Ext.create('Ext.tree.Panel', {
        id: 'tree-panel',
        store: store,
        height: '100%',
        rootVisible: false
    });

这是我的tree.Panel点击处理程序

代码语言:javascript
复制
treePanel.getSelectionModel().on('select', function(selModel, record){
    if (record.get('leaf')) {
        contentPanel.removeAll(true);
        contentPanel.add([dict_modules[record.data.id + '-area']]);
        contentPanel.doLayout();
    }
});

加载我的应用程序时,它看起来如下所示

一旦我点击“专业”,它看起来像这样(好吧(!))

但是(!),一旦我点击"Profiles",它看起来就像这样(为什么?)

在"content-panel“的顶部,你可以看到一些行

如果我再次点击“专业”,它看起来像这样(为什么?)

上面没有线条!为什么?我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-14 03:13:41

这段代码解决了问题

代码语言:javascript
复制
treePanel.getSelectionModel().on('select', function(selModel, record) {
    if (record.get('leaf')) {
        Ext.getCmp('content-panel').layout.setActiveItem(record.getId() + '-area');
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17623250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档