我需要允许我的用户通过单击一个按钮来提交多个属性地址,该按钮将插入带有额外文本字段的字段集。我可以使用form.insert(index,component)来做到这一点;但是,在用户添加其他属性后,该索引将发生更改。例如,添加额外属性的索引位于第7个组件之后,使索引为7.但是当您将其插入7时,它的索引现在为7,并且下一个属性将插入其上方。当您尝试使用相同表单中的联系电子邮件和数字执行此操作时,此效果会更加复杂。所以我的问题是,如何在表单中获取组件的索引,我希望在之后插入额外的字段?
答案 0 :(得分:0)
fieldset.items.getCount()
或者我错过了什么?
答案 1 :(得分:0)
不完全直截了当,但也不是太糟糕。看看下面的代码:第一部分是添加一组字段的按钮处理程序,第二部分是创建索引字段的实际函数。
handler:function () {
var parts = this.up('fieldset'),
index = parts.query('fieldcontainer').length, //calculate existing Part line items
fields = this.up('window').createPartFieldContainer(index);
parts.add(fields);
}
createPartFieldContainer:function (index) {
index = index || 0;
return {
xtype:'fieldcontainer',
items:[
{
xtype:'textfield', fieldLabel:'Item',
name:'lineItem[' + index + '].itemNumber', width:100,
emptyText:'Part Number'
}
]
}
}