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
我想做的是在单击按钮时将容器动态添加到面板。
容器的第一个实例已添加,可以在 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