迭代特定类型的 Ext JS 表单组件
Iterate Over Ext JS Form Components of Particular Type
我有一个 Ext.form.Panel
,其中包含 "typical" 个字段的混合:textfield
、combobox
、checkboxfield
等。每个 combobox
都有 forceselection : true
,因此 - 一个关联的商店。我的目标是遍历 Panel
中的每个字段,确定它是否是 combobox
,然后执行 "some stuff" - 即加载关联的商店。
两道题(每道题的手都握在上面):
- 是否可以
Ext.each
覆盖面板上的特定 "type" 组件?或者,以稍微不同的方式解决问题:是否可以 select 一组匹配特定类型的组件?
- 如果不是,我如何在 运行 时确定组件的类型?
目前,我正在使用一个标识符列表,iterating 每个标识符,运行 对面板进行查询,例如
var comboBoxIds : [
'dogs',
'cats',
'fish'
];
Ext.each(comboBoxIds, function(comboId) {
var comboBox = panel.queryById(comboId);
//....
});
以上是一个非常简单的减少。
使用query
方法得到你需要的,然后遍历数组:
var combos = panel.query('combobox[forceSelection=true]');
for (var i = 0; i < combos.length; i++) {
var combo = combos[i];
...
}
有关 ComponentQuery 语法的更多信息:http://docs-origin.sencha.com/extjs/5.1/5.1.0-apidocs/#!/api/Ext.ComponentQuery
我有一个 Ext.form.Panel
,其中包含 "typical" 个字段的混合:textfield
、combobox
、checkboxfield
等。每个 combobox
都有 forceselection : true
,因此 - 一个关联的商店。我的目标是遍历 Panel
中的每个字段,确定它是否是 combobox
,然后执行 "some stuff" - 即加载关联的商店。
两道题(每道题的手都握在上面):
- 是否可以
Ext.each
覆盖面板上的特定 "type" 组件?或者,以稍微不同的方式解决问题:是否可以 select 一组匹配特定类型的组件? - 如果不是,我如何在 运行 时确定组件的类型?
目前,我正在使用一个标识符列表,iterating 每个标识符,运行 对面板进行查询,例如
var comboBoxIds : [
'dogs',
'cats',
'fish'
];
Ext.each(comboBoxIds, function(comboId) {
var comboBox = panel.queryById(comboId);
//....
});
以上是一个非常简单的减少。
使用query
方法得到你需要的,然后遍历数组:
var combos = panel.query('combobox[forceSelection=true]');
for (var i = 0; i < combos.length; i++) {
var combo = combos[i];
...
}
有关 ComponentQuery 语法的更多信息:http://docs-origin.sencha.com/extjs/5.1/5.1.0-apidocs/#!/api/Ext.ComponentQuery