Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Работа с Chained Store (https://javascript.ru/forum/extjs/57606-rabota-s-chained-store.html)

kolka 11.08.2015 17:56

Работа с Chained Store
 
Всем привет.

Люди, помогите разобраться с сабжем.
Код здесь - https://fiddle.sencha.com/#fiddle/rvs
Почему то не срабатывает код source: 'users':
stores: {
    one: {
        source: 'users',
        autoLoad: true
    }
}

Что я пропустил ?

khusamov 11.08.2015 20:48

А с чего он там должен сработать? Там ведь создаются Ext.data.Store, а не Ext.data.ChainedStore.

kolka 12.08.2015 13:47

Спасибо.. поправил..

kolka 13.08.2015 19:00

Поправить то поправил.. однако в консоли выскакивает ошибка.. при выборе в поле Пользователь
Uncaught TypeError: me.store.load is not a function

Помогите разобраться.. Уже не знаю что делать :(

khusamov 13.08.2015 19:18

Почему тут осталось source: '{users}'?
one: {
            source: '{users}',
            autoLoad: true,
            filters: [{
                property: 'id',
                value: 1,
                operator: '>'
            }]
        }

khusamov 13.08.2015 19:22

Если source: '{users}' поменять на
type: '{users}'
то ошибка исчезает.
Правда не ясно почему частично работает с source... Это надо узнавать, там можно вообще так определять хранилища?

kolka 14.08.2015 09:49

При такой замене вообще перестает работать..

Делаю на этом примере.

khusamov 14.08.2015 13:04

Прошу прощения, перепутал. https://fiddle.sencha.com/#fiddle/s5k
Надо так:

type: 'users',

khusamov 14.08.2015 13:05

Я там забыл убрать фигурные скобки. С ними начинает работать bindable, похоже, и начинается катавасия - вместо сторе подставляется модель с таким же именем users.

kolka 14.08.2015 14:17

Видимо я не правильно объяснил..
Мне нужно использовать как в примере source: '{users}', без сторе.

khusamov 14.08.2015 16:16

Ясно. Оказывается опция source поддерживается в ViewModel и создается Chained Store. Вроде ошибок нет. Мало того, комбобокс даже работает. А вот какая-то странная ошибка в консоли выдается...

khusamov 14.08.2015 16:46

в рабочем проекте (то есть НЕ в песочнице) эта ошибка тоже всплывает?

kolka 14.08.2015 17:20

Цитата:

Сообщение от khusamov (Сообщение 384259)
в рабочем проекте (то есть НЕ в песочнице) эта ошибка тоже всплывает?

Точно такая же ошибка.

novikov 23.08.2015 16:36

Раскомментировал в вашем примере queryMode: 'local', и ошибка пропала.

https://fiddle.sencha.com/#fiddle/smd

Ext.define('FiresAPP.view.Combouser', {
    extend: 'Ext.form.ComboBox',
    alias: 'widget.combouser',
    bind: {
        store: '{one}'
    },
    fieldLabel: 'Пользователь',
    queryMode: 'local', // <-- здесь
    displayField: 'name',
    valueField: 'id'
});

kolka 26.08.2015 12:06

Спасибо.

Так и думал.. ошибка в предсказуемых мелочах..;)

khusamov 26.08.2015 13:26

Странно... local по идее ставить нельзя, так как store не в памяти, а загружаемый...


Часовой пояс GMT +3, время: 22:40.