ColumnListItem - 事件处理程序 "press" 未触发

ColumnListItem - Event Handler "press" NOT Triggered

我正在使用 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)
  });
},

您应该在 Table 控件上绑定的 属性 是 itemPress 并且您的 ColumnListItem 需要具有等于 Navigation

的类型

你能检查一下吗?

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

当前:

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

需要更改:

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