我在关闭SAPUI5片段时遇到问题。我正在创建一个片段并显示一个PDF文件。但是,当我关闭片段时,它会完美关闭,但会从引发片段的位置清除上一个屏幕上的数据。
onMenuNavToTerms: function (oEvent) {
this._sValidPath = sap.ui.require.toUrl("demo/smartapp/pdf") + "/TC.pdf";
if (!this._onPdfDiag) {
this._onPdfDiag = sap.ui.xmlfragment("pdfDisplayFragment", "demo.smartapp.view.DisplayPdf", this);
this.getView().addDependent(this._onPdfDiag);
}
this._oModel = new JSONModel({
Source: this._sValidPath,
Title: "Terms and Conditions",
Height: "600px"
});
this.getView().setModel(this._oModel);
this._onPdfDiag.open();
},
以上代码将打开片段并显示PDF。现在下面的代码显示了我如何关闭片段:
onPdfCancelPressed: function (oEvent) {
// var oView = this.getView();
var oView = this.getView();
this._onPdfDiag.close();
this._onPdfDiag.destroy();
},
关闭片段后,将清除打开片段的前一个屏幕上的数据。
我将非常感谢您的帮助。
谢谢
当您像这样设置模型时:
this.getView().setModel(this._oModel);
您将覆盖整个应用程序未命名的模型!尝试对片段数据使用其他命名模型或使用方法JSONModel.setData(oData, bMerge?)
:如果将JSONModel.setData(oData, bMerge?)
设置为true,则新数据将与旧模型数据合并。