Как установитьBusy (false) Индикатор SAPUI5 для всех элементов управления одновременно - PullRequest
0 голосов
/ 15 января 2019

мы хотим позаботиться о том, чтобы все запущенные индикаторы занятости были остановлены через пару раз. Как мы можем сделать это? На данный момент мы используем setBusy (false) для каждого элемента управления. Большое спасибо!

1 Ответ

0 голосов
/ 15 января 2019

Я думаю, что вы должны изменить свой общий подход, потому что это не хороший шаблон UI / UX.

Прежде всего, почему у вас больше одного занятого элемента управления? Например, если вы загружаете запись в список, вы просто заняты списком, а не всей страницей. Если вы отправляете данные формы, вы устанавливаете только форму, а не все остальное.

Во-вторых, почему вы говорите: «На данный момент мы используем setBusy (false) для каждого элемента управления»? Вы должны удалить состояние занятости после определенного события. Для истечения срока, когда вы закончили загружать результат списка или получили результат отправки формы.

В любом случае, чтобы решить вашу текущую проблему, лучше всего использовать привязку XML с временной моделью JSON.

У вас может быть модель JSON с таким содержимым:

{
    busy: false
}

и вы связываете свойство busy элемента управления с youtJSONModel>/busy в этот момент, когда вам нужно установить элемент управления в состояние занятости, вы можете выполнить this.getView().getModel("youtJSONModel").setProperty("/busy", true);, а когда вы закончите операцию, вы можете выполнить this.getView().getModel("youtJSONModel").setProperty("/busy", false);

...