我正在使用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)
});
},
答案 0 :(得分:0)
您应该在Table控件上绑定的属性是itemPress
,并且ColumnListItem的类型必须等于Navigation
你可以检查那些吗?
答案 1 :(得分:0)
press功能无法正常工作,因为您尚未为其编写正确的处理程序。根据您的代码,该处理程序是为detailPress
编写的。只是一个错字,将处理程序更改为press
,它应该可以正常工作。
当前:
<ColumnListItem type="Navigation" detailPress=".onPress">
需要更改:
<ColumnListItem type="Navigation" press=".onPress">