ColumnListItem-事件处理程序“按”未触发

时间:2019-01-22 09:36:51

标签: sapui5

我正在使用ColumnListItem在Overview.view.xml中显示销售订单的列表。当用户单击(销售订单)列表中的项目时,应用程序应导航到Detail.view.xml。

我已经在Overview.Controller.js中定义了onPress事件处理程序。但是该应用程序未执行该功能(我在其中放置了alert()并没有被触发)。为什么未触发onPress()?我该如何调试?

<Table items="{myOdata>/SalesOrderSet}">
  <ColumnListItem type="Navigation" detailPress=".onPress">
    <!-- ... -->
  </ColumnListItem>
  <columns>
    <!-- ... -->
  </columns>
</Table>
onPress: function (oEvent) {
  //This code was generated by the layout editor.
  alert("In");
  var loOverview = "Data from Overview";
  var oItem = oEvent.getSource();
  var loRouter = sap.ui.core.UIComponent.getRouterFor(this);
  loRouter.navTo("Detail", {
    value: oItem.getBindingContext("oModel").getPath().substr(1)
  });
},

2 个答案:

答案 0 :(得分:0)

您应该在Table控件上绑定的属性是itemPress,并且ColumnListItem的类型必须等于Navigation

你可以检查那些吗?

答案 1 :(得分:0)

press功能无法正常工作,因为您尚未为其编写正确的处理程序。根据您的代码,该处理程序是为detailPress编写的。只是一个错字,将处理程序更改为press,它应该可以正常工作。

当前:

<ColumnListItem type="Navigation" detailPress=".onPress">

需要更改:

<ColumnListItem type="Navigation" press=".onPress">