Я определяю treepanel. И я пытаюсь добавить маску() для ожидания дерева загружается. Но не работает.Как скрыть дерево до загрузки успеха
Вот мой код
Ext.define('Example.example', {
extend: 'Ext.tree.Panel',
alias: 'widget.example',
title: 'example',
store: Ext.create('Ext.data.TreeStore', {
...
listeners: {
'load': function (store, records, success) {
Ext.ComponentQuery.query('example').getEl().unmask(); // not working
},
'beforeload': function (store, options) {
Ext.ComponentQuery.query('example').getEl().mask();// not working
}
}
})
});
Как сделать эту рабочую благодарственное.
Я получаю ошибку, например 'this.ownerTree.getEl (...) undefined' :( – freestyle
Это означает, что ваш магазин начинает загружаться после регистрации слушателя, но перед тем, как панель дерева будет отображаться ... Оберните вызов с помощью 'if (this.ownerTree.rendered) {...}', чтобы избежать ошибки. – rixo
Если вы хотите, чтобы дерево было замаскировано во время начальной загрузки, вы также должны добавить слушателя в событие рендеринга дерева с чем-то вроде 'if (this.store.isLoading()) {this.getEl(). mask()} '. – rixo