Extjs 5.1 动态添加容器到面板

Extjs 5.1 Dynamic addition of container to panel

我想做的是在单击按钮时将容器动态添加到面板。

容器的第一个实例已添加,可以在 panel.items.length

中看到

第 2 个实例以后 panel.items.length 没有改变。但面板可以在 dom 和屏幕上看到。

只是想知道为什么 panel.items.length 没有增加。这是一个错误吗?

提琴手 link https://fiddle.sencha.com/#fiddle/p3u

检查行:

console.log(qitems);

低于调试器;它设置为我正在谈论的questionsblock.items.length。

从 QuestionTemplate 中删除 itemId 并从新实例中删除 renderTo。

您的点击处理程序应如下所示:

listeners: {
    'click': function(button) {
        var questionPanel = button.up('form').down('#questionsblock'),
            qitems = questionPanel.items.length,
            questiontemplate = Ext.create('QuestionTemplate', {
            qid: qitems,
            questiontype: 'text'
        });
        console.log(qitems);
        questionPanel.add(questiontemplate);
        questionPanel.doLayout();
    }
}

检查此 fiddle:https://fiddle.sencha.com/#fiddle/p47