我有Ext.form.Panel
,其中包含"典型"的混合物。字段:textfield
,combobox
,checkboxfield
等。每个combobox
都有forceselection : true
,因此 - 相关商店。我的目标是遍历Panel
中的每个字段,确定它是否为combobox
,然后执行"某些内容" - 即加载相关商店。
两个问题(每个问题都牵着过手):
Ext.each
超过特定的"类型"面板上的组件?或者,以稍微不同的方式处理问题:是否可以选择一组与特定类型匹配的组件?目前,我使用标识符列表,iterating覆盖每个标识符,并对面板运行查询,例如
var comboBoxIds : [
'dogs',
'cats',
'fish'
];
Ext.each(comboBoxIds, function(comboId) {
var comboBox = panel.queryById(comboId);
//....
});
以上是一种非常简单的缩减。
答案 0 :(得分:2)
使用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