我有一个包含项目的表单,并按下"添加"以将字段动态添加到表单中(复制第一个字段)。链接到按钮的功能来执行此操作这是我的代码:
var form new Ext.form.FormPanel({
items : [{
xtype: 'fieldcontainer',
combineErrors: true,
msgTarget : 'side',
layout: 'hbox',
items: [{
xtype : 'displayfield',
margin : '0 10 0 0'
},{
xtype : 'button',
text : 'select'
}]
}]
,buttons: [{
text : 'Add field'
}]
})
我认为您应该在button(或为按钮提供一个itemId并在控制器中定义一个函数,您可以在其中访问表单对象项数组并将动态"字段容器"对象添加到表单中。参考以下片段:
在视野中:
,buttons: [{
text : 'Add field',
itemId : 'addField'
}
在控制器中:
refs : [{
selector : 'viewport form',
ref : 'myForm'
},
init : function(){
this.control({
'#addField':{
click : this.addFieldContainer
}
});
},
addFieldContainer: function(){
var form = this.getMyForm();
form.items.push({
xtype: 'fieldcontainer',
combineErrors: true,
msgTarget : 'side',
layout: 'hbox',
items: [{
xtype : 'displayfield',
margin : '0 10 0 0'
},{
xtype : 'button',
text : 'select'
}]
});
}
希望这有帮助。