如何选择FormPanel上的所有TextField?

时间:2013-07-05 19:32:53

标签: extjs extjs4.2

如何选择组件类型为FormPanel的{​​{1}}的所有子组件?

我想仅遍历TextField个组件并将其值设置为TextField

我在""

的方法中有这个
FormPanel

它会选择太多内容,它会选择this.query('textfield').forEach(function(item) { console.log(item.id); } ); TextFields内的所有嵌套ComboBox,而不是。{/ p>

如何才能获得DateField个实例?

2 个答案:

答案 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}}