我在表单面板中有很多fieldcontainer。我想只重置一个fieldcontainer而不是整个面板。但我不能这样做。我该怎么做?这是我的代码
Ext.define(Fsl.app.getAbsView('V01T007001X04'), {
extend : 'Ext.form.Panel',
alias : Fsl.app.getAlias('V01T007001X04'),
id : 'V01T007001X04'.toLowerCase(),
margin : '0 0 0 0',
initComponent : function(){
this.items =[{
xtype : 'fieldcontainer',
layout : 'vbox',
items :[{
items : [{
xtype : 'fieldcontainer',
layout : 'vbox',
margin : '5 5 0 5',
items : [
{
xtype : 'numberfield',
fieldLabel : 'InvoiceNo',
name : 'invoiceId',
}]
},
{
xtype : 'fieldcontainer',
layout : 'vbox',
margin : '5 0 0 10',
items: [{
xtype : 'datefield',
name : 'date',
fieldLabel : 'Date'
}]
},{
xtype : 'fieldcontainer',
layout : 'vbox',
margin : '5 0 0 10',
items: [{
xtype : 'textfield',
name : 'branchId',
fieldLabel : 'Branch Id',
}]
}]
}]
},{
xtype : 'fieldcontainer',
combineErrors : true,
layout : 'hbox',
items: [{
xtype : 'numberfield',
fieldLabel : 'Article Id',
name : 'articleId',
}]
}];
this.callParent(arguments);
}
});
答案 0 :(得分:1)
您应该能够查询所需的fieldcontainer
,然后在容器内的每个字段上运行reset()
函数。首先提供fieldcontainer
itemId
媒体资源,以便查询:
{
xtype: 'fieldcontainer',
itemId: 'invoiceCt',
items : [
{
xtype: 'numberfield',
fieldLabel: 'InvoiceNo',
name: 'invoiceId',
}]
},
然后查询fieldcontainer
并重置其中的每个字段:
var fieldContainer = form.down('#invoiceCt');
fieldContainer.items.each(function(f) {
if (Ext.isFunction(f.reset)) {
f.reset();
}
});