Как установитьProperty () оптом без обновления модели? - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть OData Model V2 по умолчанию, и я пытаюсь обновить все свойства сразу.

Каждый раз, когда используется метод setProperty (), модель обновляется сама, и вызывается так много методов.вызывая некоторые проблемы с производительностью.

Как я могу установить изменения, не обновляя модель каждый раз, когда я вызываю метод setProperty () и обновляя модель в конце?

    onAccept: function (oEvent) {
        var oModel = this.getOwnerComponent().getModel();
        oModel.setProperty("/QuoteItemSet(guid'" + this._sTliKey + "')/acceptedRateClass", true);
        oModel.setProperty("/QuoteItemSet(guid'" + this._sTliKey + "')/workflowStatus", "02");
        oModel.setProperty("/QuoteItemSet(guid'" + this._sTliKey + "')/accepted", true);
        oModel.setProperty("/QuoteItemSet(guid'" + this._sTliKey + "')/approvedRate", this._nApprovedRateValue);
        oModel.setProperty("/QuoteItemSet(guid'" + this._sTliKey + "')/approvedRateOnEdit", this._nApprovedRateValue);

    },

1 Ответ

0 голосов
/ 29 ноября 2018

Вы можете использовать метод setRefreshAfterChange(), который определяет, обновляются ли все привязки после операции изменения.Не забудьте обновить модель, как только все изменения будут выполнены с помощью refresh(), чтобы проверить все привязки на наличие обновленных данных.

oModel.setRefreshAfterChange(false);
[set properties...]
oModel.refresh();
...