Extjs 5.1动态添加容器到面板

时间:2015-06-19 21:33:42

标签: javascript extjs extjs5 sencha-architect

我想要做的是点击按钮动态地将容器添加到面板。

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

中看到

第二个实例以后,panel.items.length不会改变。但面板可以在dom和屏幕上看到。

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

Fiddler link https://fiddle.sencha.com/#fiddle/p3u

检查线:

  

的console.log(qitems);

调试器下方;它被设置为我所谈论的questionsblock.items.length。

1 个答案:

答案 0 :(得分:1)

从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();
    }
}

检查这个小提琴:https://fiddle.sencha.com/#fiddle/p47