loadMask не срабатывает при загрузке магазина

Я попробовал это

    var myMask = new Ext.LoadMask({msg:"GOINGGGGGG",target:Ext.getBody(),store:Ext.getStore('Bla.core.ext.store.Client')});

    myMask.bindStore(Ext.getStore('Bla.core.ext.store.Client'));

и добавление магазина в конфиге, и создание магазина привязки.

Конечная цель - сделать так, чтобы несколько магазинов сообщали о 1 маске, но я не могу даже заставить 1 работать?

1 ответ

LoadMask должен использоваться только для компонентов, а не для элементов - Ext.getBody() возвращает элемент. Для маскировки элементов вы должны использовать Ext.dom.Element.mask

Другой вариант - создать область просмотра, которая занимает все пространство браузера, и использовать для этого LoadMask. Однако, если вы хотите, чтобы несколько магазинов использовали одну и ту же маску, вам нужно привязать свой магазин самостоятельно, потому что bindStore сначала отменяет привязку старого хранилища, а затем связывает новое.

Кстати, привязка - это простая вещь: установите прослушиватель в хранилище, которое показывает маску перед загрузкой хранилища и скрывает ее после загрузки данных или неудачного запроса.

Другие вопросы по тегам