我正在使用ExtJS 4.2.1,我知道有autoSelect
配置选项,它将默认为组合商店的第一个元素。
但我正在寻找的可能是通过覆盖,只有在组合框的商店中只有一个项目时才这样做。
我想在商店一级做这件事,但如果我在我的应用程序中有10个组合框,那就是相同代码的10倍......
有什么想法吗?
答案 0 :(得分:0)
到目前为止,我已经得到了这个。如果有人有更好的想法或理由我不应该使用这种方法进行覆盖,请发帖。
Ext.define('App.overrides.form.ComboBox', {
override: 'Ext.form.ComboBox',
onDataChanged: function () {
var store = this.getStore();
if (store != null) {
if (store.count() == 1) {
var value = store.getAt(0).data[this.valueField];
this.setValue(value);
}
}
this.callParent();
}
});