Как применить магазин к выпадающему списку в ExtJS?

{
    fieldLabel: 'Tip',
    name: 'SubjectType',
    allowBlank: false,
    xtype: 'combo',
    displayField: 'name',
    valueField: 'type',
    typeAhead: true,
    forceSelection: true,
    queryMode: 'local',
    store: subjectTypeStore,
    listeners: {
        select: function(a,selected,c){
            //console.log(a);
            var tets = selected[0].data.type;
            console.log(tets);
            //console.log(c);
        }
    }
},
{
    name: 'SubjectID',
    allowblank: false,
    xtype: 'combo',
    displayField: 'name',
    valuefield: 'name',
    typeAhead: true,
    forceSelection: true,
    queryMode: 'local'
}

Что я хочу сделать, так это применить хранилище со списком ко второму полю со списком в соответствии с выбранным элементом в первом поле со списком. Например, если вы выберете Pokemons, то второе поле со списком должно загрузить pokemonStore. Вы передумали и выбрали Smurfs, затем второе поле со списком загружает smurfsStore.

Я хочу узнать, как применить хранилище к существующему выпадающему списку.


person ilhan    schedule 19.02.2013    source источник


Ответы (1)


Вот простой пример JSFiddle

select: function(checkbox,records) {
      comp.clearValue();
      comp.bindStore(Ext.StoreMgr.lookup(records[0].data.store));
      // you can change the value field if needed
      comp.displayField = 'petname'; 
      // you can change the display field if needed
      comp.valueField = 'id'; 
      // you can change the display template if needed
      comp.displayTpl = new Ext.XTemplate(
          '<tpl for=".">' +
              '{[typeof values === "string" ? values : values["' + comp.displayField + '"]]}' +
              '<tpl if="xindex < xcount">' + comp.delimiter + '</tpl>' +
          '</tpl>'
      );
      comp.picker = null;
 }
person sra    schedule 19.02.2013
comment
Упомянутый выше пример JSFiddle не работает - кажется, что внешние ресурсы добавлены неправильно. Найдите обновленный пример с допустимыми внешними ресурсами и frmwrk, который отлично работает. jsfiddle.net/TpdeC/16 - person Srikanth; 06.08.2014
comment
Здесь важен вызов bindStore, а не reconfigure, который используется во всем остальном. - person JonnyRaa; 02.04.2015