我在电话浏览器中使用了主从splitapp。母版页显示主列表,当我单击某个项目时,它将导航到详细信息页面。
问题是,从详细信息页面上,我单击BackArrow
返回到母版页,然后再次单击同一项目,onSelect
事件将不会触发>无处可去。但是,如果我轻按另一个项目,它将起作用。
在manifest.json
中,主视图级别= 1,详细视图级别= 2。
谢谢
下面是详细信息页面导航按钮
<Page
title="Title text"
showNavButton="true"
navButtonPress="onNavBack">
onNavBack函数
onNavBack: function (oEvent) {
var oHistory = History.getInstance();
var sPreviousHash = oHistory.getPreviousHash();
if (sPreviousHash !== undefined) {
window.history.go(-1);
} else {
// no history handle
}}
onSelect进行转发
, onSelect : function(oEvent) {
var oTransferData = this.createTransferData(oContext);
this.transferData.setData(oTransferData);
...
this.getRouter().navTo(
"detail", { ZITEM : oTransferData.ZITEM }
);
}
, createTransferData : function(oContext) {
var oData = {};
oData.ZITEM = oContext.getProperty("ZITEM");
}
列表
<List
id="masterList"
noDataText="no data"
mode="SingleSelectMaster"
selectionChange="onSelect"
includeItemInSelection="true"
>
答案 0 :(得分:2)
尝试使用 itemPress 事件而不是选择事件(确保项目的 type 属性具有“活动”状态)。每当您单击项目时,它都会触发,并且仅当选择更改时才会选择。
答案 1 :(得分:0)
您需要清除列表选择
代码
var oList = sap.ui.getCore().byId("masterList");
if(oList)
oList .removeSelections(true);