将折叠的面板添加到窗口会导致Ext JS 4中的渲染错误

时间:2011-08-22 21:29:25

标签: extjs extjs4

我正在关注“ExtJS in Action”一书中的示例,我遇到了其中一个问题。代码打算将新面板添加到窗口,遗憾的是,当添加的面板默认折叠时,它们无法正确呈现。

以下是相关代码:

var childPnl1 = {
    frame: true,
    height: 50,
    html: 'My First Child Panel',
    title: 'First children are fun'
};

var myWin = new Ext.Window({
    height: 300,
    width: 300,
    title: 'A window with a container layout',
    autoScroll: true,
    items: [
        childPnl1
        ],
    tbar: [
        {
        text: 'Add child',
        handler: function() {
            var numItems = myWin.items.getCount() + 1;
            myWin.add({
                title: 'Child number ' + numItems,
                height: 60,
                frame: true,
                collapsible: true,
                collapsed: true,
                html: 'Yay, another child!'
            });
            myWin.doLayout();
        }}
    ]
});
myWin.show();

当我运行它时,我得到了这个小提琴中的结果: http://jsfiddle.net/PHaP4/

当我点击“添加子项”按钮时,折叠的面板将呈现为非常窄的元素,就像宽度未正确设置一样。

这是Ext中的错误还是在ExtJS4中有正确的新方法?

2 个答案:

答案 0 :(得分:2)

新的公共4.0.7版本似乎没有修复此错误。

答案 1 :(得分:0)

看起来像ExtJS 4.0.2中的一个错误,似乎在ExtJS 4.0.5中得到修复。以下是我在发行说明中找到的内容:

  

[EXTJSIV-2547] - 最初没有渲染的子组件   坍塌,无人问津的小组。

我的工作有一个高级帐户,所以我可以下载并检查4.0.5。不过,你必须等待一般发布。