SAPUI5, почему глобальный BusyIndicator слишком рано скрывается? - PullRequest
0 голосов
/ 15 марта 2019

Я показал свой BusyIndicator в функции routeMatched ()

sap.ui.core.BusyIndicator.show();

Позже, это скрыто после того, как я снова установил страницу видимой.

...
...
... 

    self.getView().byId("Page1").setVisible(true);
    sap.ui.core.BusyIndicator.hide();

Проблема в том, что вскоре после этого снова отображается представление, однако индикатор снова скрывается, однако на более медленном мобильном телефоне страница находится в процессе рендеринга ПОСЛЕ скрытия индикатора.

Мне нужно полностью скрыть вид, пока он не загрузится ..

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Решением было использование sap.m.busyIndicator вместо sap.ui.core.BusyIndicator.

0 голосов
/ 18 марта 2019

Если ваше приложение загружает данные перед рендерингом, скройте busyIndicator в методе успеха ваших AJAX-запросов.

Если вы используете oData Model, присоедините прослушиватель к событию batchRequestCompleted модели oData и скройте BusyIndicator при возникновении события.

Это должно оптимизировать поведение намобильное устройство.Из-за асинхронного поведения структуры SAPUI5 для визуализации элементов в зависимости от полученных данных может случиться так, что некоторые элементы пользовательского интерфейса все еще отрисовывают, хотя страница уже видна.

...