加载comboBox extjs的默认值

时间:2010-08-15 20:48:53

标签: javascript combobox extjs store

如何将我的json商店(远程)的默认值加载到组合框中, 我已经尝试在渲染组合之前加载商店,并使用setValue() 我希望我的组合在商店中显示第一个结果 请告诉我正确的方法,而不是

1 个答案:

答案 0 :(得分:14)

您需要在加载商店后将value属性设置为第一个元素的值

Ext.ns('MyNamespace');

MyNamespace.MyComboBox = Ext.extend(Ext.form.ComboBox, {
  displayField: 'displayValue',
  triggerAction: 'all',
  valueField: 'ID',

  initComponent: function () {
    this.store = new Ext.data.JsonStore({
      url: 'url',
      baseParams: {
        //params
      },
      fields: [
        {name:'ID', mapping: 'ID', type: 'int'},
        {name:'displayValue', mapping: 'displayValue', type: 'string'},
      ],
      root: 'root'
    });

    var me = this;
    this.store.on('load',function(store) {
      me.setValue(store.getAt(0).get('ID'));
    })

    MyNamespace.MyComboBox.superclass.initComponent.call(this);

    this.store.load();
  }

});