在SAPUI5应用程序中刷新片段

塞尔吉奥

在我的SAPUI5应用程序中,我有一个JS Fragment,它不会更新我的数据。如果刷新窗口,则可以正确获取数据,但是需要使用window.location.reload()

您可以检查以下代码:

 onInit: function () {
            var oRouters = sap.ui.core.UIComponent.getRouterFor(this);
            oRouters.getRoute("chartContainer").attachPatternMatched(this._onObjectMatched, this);
        },
        _onObjectMatched: function (oEvent) {
            var sYear   = oEvent.getParameter("arguments").Year;
            var sMonth  = oEvent.getParameter("arguments").Month;
            var sGroup = oEvent.getParameter("arguments").Group;
            var sCurrency  = oEvent.getParameter("arguments").Currency;
             if (sYear === undefined && sMonth === undefined && sGroup === undefined && sCurrency === undefined){

                var oStartupParameters = this.getOwnerComponent().getComponentData().startupParameters;

                sYear   = oStartupParameters.Year;

                sMonth  = oStartupParameters.Month;

                sGroup = oStartupParameters.Group;

                sCurrency  = oStartupParameters.Currency


            }

            var sServiceUrl = "/sap/opu/odata/sap/Z_TEST/";
            var filterYear   = new sap.ui.model.Filter("Year",   sap.ui.model.FilterOperator.EQ, sYear);
            var filterMonth  = new sap.ui.model.Filter("Month",  sap.ui.model.FilterOperator.EQ, sMonth);
            var filterGroup = new sap.ui.model.Filter("Group", sap.ui.model.FilterOperator.EQ, sGroup);
            var filterCurrency  = new sap.ui.model.Filter("Currency",  sap.ui.model.FilterOperator.EQ, sCurrency);

            var oModelOdata = new sap.ui.model.odata.v2.ODataModel(sServiceUrl, {
                                                                          json: true,
                                                                          loadMetadataAsync: true
                                                                             });
            var oModel = new sap.ui.model.json.JSONModel();

            oModelOdata.read("/DataSet",{
                       filters: [filterYear, filterMonth, filterGroup, filterCurrency],
                       success: function(oData, response) {
                       var oResults = oData.results;
                       oModel.setData(oData);
                       var oView = sap.ui.getCore().byId("__xmlview0");
                       if (oView !== undefined){
                          oView.setModel(oModel);
                       }else{
                     
                           window.location.reload(); // It works correctly butI would like not to have to reload the whole page.

                     
                       }
                       }
                       });
       },

如何在不刷新整个页面的情况下刷新视图?

预先感谢您的支持Sergio

安德烈·F

您应该使用以下refresh()方法刷新模型

oModelOdata.read("/DataSet",{
  filters: [filterYear, filterMonth, filterGroup, filterCurrency],
  success: function(oData, response) {
    var oResults = oData.results;
    oModel.setData(oData);
    var oView = sap.ui.getCore().byId("__xmlview0");
    if (oView !== undefined){
      oView.setModel(oModel);
    }else{
      oModel.refresh(); // refresh new model data bindings
    }
  }
});

promises在进行API调用以获取数据时,也应使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SAPUI5 应用程序中的 JQuery 日期滑块

在viewpager中打开新片段时,应用程序崩溃

VSCode中的SAPUI5(不是OpenUI5)应用程序开发

SAPUI5 Android应用程序-资源未加载

如何从SAPUI5应用程序传递$ filter参数

在Webide中从SAPUI5应用程序调用XSJS服务

限制SAPUI5应用程序中内部页面的直接访问

SAPUI5 应用程序中的自定义 CSS

将模型用作XMLModel时,如何从SAPUI5应用程序的表中删除行?

在 SAPUI5 应用程序中获取经过身份验证的用户 ID

在eclipse中(sapui5应用程序)在Hana Cloud Portal中部署

在主从应用程序(SAPUI5)中添加统一的shell头

刷新片段中的recyclerview

在FragmentActivity中刷新片段

如何在 SAPUI5 应用程序中的断点处查看 OData 实体发布有效负载

OData模型中的SAPUI5应用程序数据如何写回到后端系统

路由抛出错误控制 ID 应用程序无法在 SAPUI5 中的目标视图中找到

SAPUI5 / OpenUI5应用程序安全建议

在 tabLayout 中滑动到新片段并滑动回上一个片段时,应用程序崩溃

移动sapui5应用中的MatrixLayout

SAPUI5 应用程序上的标题图像

适用于移动应用程序的SAPUI5库

无法从 fiori 启动板打开 sapui5 应用程序扩展

SAPUI5应用程序无法在ABAP存储库中加载CSS文件

如何使DOM元素在SAPUI5应用程序上可拖动?

如何查找缓慢加载的SAPUI5应用程序的加载瓶颈

SAPUI5 应用程序不会立即从 SAP NetWeaver 更新

使用 SAPUI5 移动应用程序将 JavaScript Blob 转换为 FormData

标准SAPUI5应用程序的SAP自定义翻译