我正在尝试创建一个多项选择课,我会在其中传递2到8个可能的答案,用户必须从中选择一个答案。如何动态地将我的项目传递给我的班级,并为每个可能的答案创建一个新的 radiofield ?这是我目前的课程,有两个可能的答案(红色,白色)
Ext.define('Sencha.view.question.QuestionTypeOne', { extend: 'Ext.Container', xtype: 'question-type-one', requires: [ 'Ext.TitleBar' ], config: { height: '250px', width: '250px', items: [ { xtype: 'fieldset', title: 'What\'s your favorite color?', instructions: 'Select one', defaults: { xtype: 'radiofield', labelWidth: '40%' }, items: [ { name: 'color', value: 'red', label: 'Red' }, { name: 'color', value: 'white', label: 'White' } ] } ] }, initialize: function () { this.callParent(arguments); } });
它会被调用这样的东西吗?
{ xtype: 'question-type-one', // question: "What's your favorite color?", // items: [] }
答案 0 :(得分:1)
在为question-type-one
创建视图时,您可以传递问题/答案列表,在initialize
函数中,您可以迭代此数据并向项目集添加项目。为此你可能需要保持null config q& a在视图类中。
var question = Ext.create("Sencha.view.question.QuestionTypeOne", {
q : "blah blah blah",
a : {"a1", "a2", "a3"}
});
然后在初始化函数
initialize: function () {
this.callParent(arguments);
var question = this.config.q;
var answers = this.config.a;
var container = this.down('fieldset');
// now iterate over answers and all container.add(answerdfield);
}