Ext JS 6 Фильтр Combobox Dropdownmenu с удаленным магазином - PullRequest
0 голосов
/ 23 января 2020

У меня есть удаленное хранилище, подобное этому:

 example:{
        storeId: 'example',
        fields: ['field1','field2','field3'],
        proxy:{
            type: 'ajax',
            url: 'data.cfc',
            actionMethods: { read: 'POST' },
            reader: {
                type: 'json',            
            }
        }                       
    }

И мой Combobox выглядит так:

 xtype: 'combo',
 fieldLabel: 'Example',
 name: 'Example',
 bind:{
    store: '{example}'
 },
 valueField: 'field1',
 displayField: 'field2',
 forceSelection: true,

Моя проблема сейчас в том, что с удаленным хранилищем Combobox не фильтруйте значения в выпадающем меню, например queryMode: 'local', когда я что-то набираю в текстовом поле. Есть ли способ добиться того же внешнего вида фильтра с queryMode: 'remote'?

1 Ответ

1 голос
/ 23 января 2020

Вы не сможете воспроизвести точное такое же поведение с удаленным хранилищем (потому что сначала вам нужно загрузить данные). Если вы не против загрузить магазин при создании, вы можете настроить свой магазин соответствующим образом, чтобы разрешить повторный локальный запрос:

autoLoad:true
remoteFilter: false,

autoLoad: true гарантирует, что магазин загружается при создании. remoteFilter: true необходимо, если вы пытаетесь использовать локальный режим запросов для комбинированного списка с удаленным хранилищем.

Тогда вам нужно только добавить это свойство в свой комбинированный список

queryMode: 'local'

, чтобы фильтровать извлеченные данные. Это может не быть хорошей идеей, если вы загружаете огромное количество записей в свой магазин. Кроме того, вам необходимо реализовать функцию для (повторной) загрузки магазина по требованию.

См. эту скрипку для примера.

...