sapui5 - ColumnListItem - 事件处理程序“按下”未触发
问题描述
我正在使用 ColumnListItem 在 Overview.view.xml 中显示销售订单列表。当用户点击列表中的一项(销售订单)时,应用程序应该导航到 Detail.view.xml。
我onPress
在 Overview.Controller.js 中定义了事件处理程序。但是应用程序没有执行该功能(我放在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)
});
},
解决方案
press 功能不起作用,因为您没有为它编写正确的处理程序。根据您的代码,处理程序是为detailPress
. 只是一个错字,将处理程序更改为press
它应该可以工作。
当前的:
<ColumnListItem type="Navigation" detailPress=".onPress">
需要更改:
<ColumnListItem type="Navigation" press=".onPress">
推荐阅读
- django - 在 django 中为现有数据库表创建模型
- azure - 提供 Azure 托管标识 Directory.Read.All
- angular - NGRX 选择器抛出无法读取未定义的属性“tourProvider”
- javascript - 事件声明中是否需要“function()”?
- string - 基于字符串评估创建新的位列
- hyperledger-fabric - Hyperledger Fabric 中orderer genesis block 的重要性是什么?
- excel - 从单元格引用中获取文件名和路径
- ilog - 为决策表中创建的新行生成 ID(用户不可编辑)
- javascript - 如何在 NodeJS 中使用 IMAP 通过 messageId 获取电子邮件线程?
- amazon-web-services - S3 和大文件备份