2015-12-31 2 views
0

У меня есть два представления XML, и я могу перемещаться между ними с помощью маршрутизации. В первом представлении у меня есть список с будними днями, во втором представлении я хочу показать питание, связанное с будним днем ​​(связанным с идентификатором). Теперь я могу показать весь список при еде (нефильтрованное). Данные поступают от diet.json.SAPUI5: Как я могу отфильтровать свой список между двумя представлениями?

Here is my code

ответ

0

Вы можете использовать параметр маршрутизации (будний день или что идентификатор вы упомянули), чтобы передать опцию фильтра. (Посмотрите на https://sapui5.hana.ondemand.com/#docs/guide/2366345a94f64ec1a80f9d9ce50a59ef.html) и не пропускать создать фильтр: (Посмотрите: https://sapui5.hana.ondemand.com/#docs/guide/5295470d7eee46c1898ee46c1b9ad763.html)

Я хотел бы предложить вам передать имя буднего дня в качестве параметра маршрутизации, потому что он выглядит лучше для пользователя.

Это также дает вам преимущество, что вы можете добавить свой выбор в браузер.

0

// DETAIL.controller.js

sap.ui.define([ 
    "sap/ui/demo/nav/controller/BaseController" 
], function (BaseController) { 
    "use strict"; 
    return BaseController.extend("sap.ui.demo.nav.controller.DETAIL", { 
     onInit: function() { 
      var oRouter = this.getRouter(); 
      oRouter.getRoute("meal").attachMatched(this._onRouteMatched, this); 

     }, 
     _onRouteMatched : function (oEvent) { 
      var oArgs, oView; 
      oArgs = oEvent.getParameter("arguments"); 

      oView = this.getView(); 
      var context = new sap.ui.model.Context(oView.getModel(), "/" + oArgs.dayId); 
      oView.setBindingContext(context); 
      var oItemTemplate =new sap.m.StandardListItem({ 
        title:"{items}" 
       }); 
      var oList = oView.getContent()[0].getContent()[0]; 
      var oBindingInfo = { 
       path:"/meals", 
       template: oItemTemplate, 
       filters:[ 
        new sap.ui.model.Filter("dayId", sap.ui.model.FilterOperator.EQ, oArgs.dayId) 
        ] 
      }; 
      oList.bindAggregation("items",oBindingInfo);      

     } 
    }); 
}); 

//DETAIL.view.xml

<mvc:View 
    controllerName="sap.ui.demo.nav.controller.DETAIL" 
    xmlns="sap.m" 
    xmlns:mvc="sap.ui.core.mvc"> 
    <Page id="mealPage" title="{i18n>Detail}" 
    showNavButton="true" 
    navButtonPress="onNavBack" 
    class="sapUiResponsiveContentPadding"> 
    <content> 
     <List id="mealListID" headerText="Meals" noDataText="Not Found"> 
    </List> 
    </content> 
    </Page> 
</mvc:View> 
Смежные вопросы