当只有一个时,如何在组合框中选择一个值

时间:2014-09-29 19:48:04

标签: javascript extjs extjs4

我正在使用ExtJS 4.2.1,我知道有autoSelect配置选项,它将默认为组合商店的第一个元素。

但我正在寻找的可能是通过覆盖,只有在组合框的商店中只有一个项目时才这样做。

我想在商店一级做这件事,但如果我在我的应用程序中有10个组合框,那就是相同代码的10倍......

有什么想法吗?

1 个答案:

答案 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();
        }
});