如何选择组件类型为FormPanel
的{{1}}的所有子组件?
我想仅遍历TextField
个组件并将其值设置为TextField
。
我在""
FormPanel
它会选择太多内容,它会选择this.query('textfield').forEach(function(item) { console.log(item.id); } );
和TextFields
内的所有嵌套ComboBox
,而不是。{/ p>
如何才能获得DateField
个实例?
答案 0 :(得分:2)
您需要调用函数getXType()。
Extjs文档http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Component-method-getXType
实施例
var t = new Ext.form.field.Text();
alert(t.getXType()); // alerts 'textfield'
答案 1 :(得分:1)
如果当前组件是Ext.ComponentQuery
或从textfield
延伸,则使用此形式的查询会导致textfield
查找。只需对[xtype=textfield]
这样的案例使用属性查询即可。如果您在未设置textfield
的情况下创建xtype
或通过xtype
创建var form = Ext.create('Ext.form.Panel', {
title: 'Contact Info',
width: 300,
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [Ext.create('Ext.form.field.Text',{
name: 'name',
fieldLabel: 'Name',
allowBlank: false // requires a non-empty value
}), {
xtype: 'textfield',
name: 'email',
fieldLabel: 'Email Address',
vtype: 'email' // requires value to be a valid email address format
}]
});
console.log(Ext.ComponentQuery.query('[xtype=textfield]', form));
在实例上设置,则无关紧要。
这个例子将返回两个结果。
{{1}}