Как получить исходное состояние приложения sapui5 без повторного открытия - PullRequest
0 голосов
/ 27 апреля 2020

Мое приложение «Создать нового пользователя» может создать только одного нового пользователя. Если я хочу создать дополнительного пользователя, я должен перезапустить приложение. Я хочу создать кнопку, которая выполняет эту задачу без перезапуска приложения.

Чтобы быть более точным c, после первоначального вызова приложения я создаю нового пользователя (включая сохранение). Пользователь хранится во внутреннем интерфейсе и все еще виден во внешнем интерфейсе (поэтому я могу дополнительно редактировать пользователя). В случае, если я хочу создать дополнительного пользователя, я хочу нажать sh некоторую кнопку, и представление будет перезапущено / перезагружено (а также Модель). В конце концов я хочу начальное состояние моего приложения. Затем я хочу иметь возможность создать следующего нового пользователя (включая сохранение) и, возможно, еще одного.

Что я уже пробовал:

  • 'CrossApplicationNavigation' для моего 'создать нового пользователя Приложение без каких-либо параметров. Работает только в первый раз, потому что когда я нажимаю кнопку sh во второй раз, ничего не происходит. URL остается прежним (параметры не меняются).
  • Удаление данных модели и последующий вызов функции oninit (). Но у меня возникает проблема с повторным заполнением модели.

Есть ли какая-то функция или что-то еще, что я могу попробовать?

Как описано в комментарии (компонент. js):

     init: function () {

        //set model
        this.setModel(models.createTableModel(this), "table");

             if (this.getComponentData().startupParameters.ID) {
                                var sID = this.getComponentData().startupParameters.ID[0];
                                if (sID !== "") {
                                    this.getModel("table").setProperty("/ID", sID);
                                } else {
                                    this.getModel("table").setProperty("/ID", "");
                                }
                            }

        }

1 Ответ

0 голосов
/ 27 апреля 2020

Я думаю, вы используете локальную модель? Тогда вам придется сбросить локальную модель. Сброс вашей локальной модели в функции onInit и при нажатии кнопки «Добавить нового пользователя».

onInit: function(){
  this.oLocalModel = this.getModel("myLocalModel");
  this._resetModel(this.oLocalModel);
},

_resetModel: function(oModel){
  oModel.setData();
},

onPressAddNewUser: function(){
  this._resetModel(this.oLocalModel);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...