мы хотим позаботиться о том, чтобы все запущенные индикаторы занятости были остановлены через пару раз. Как мы можем сделать это? На данный момент мы используем setBusy(false) для каждого элемента управления. Большое спасибо!
Как установить индикатор занятости (false) SAPUI5 для всех элементов управления одновременно
Ответы (1)
Я думаю, что вы должны изменить свой общий подход, потому что это не очень хороший шаблон 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);