选择事件未在同一项目上触发

时间:2018-08-20 08:42:38

标签: sapui5

我在电话浏览器中使用了主从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"
>

2 个答案:

答案 0 :(得分:2)

尝试使用 itemPress 事件而不是选择事件(确保项目的 type 属性具有“活动”状态)。每当您单击项目时,它都会触发,并且仅当选择更改时才会选择。

答案 1 :(得分:0)

您需要清除列表选择

代码

var oList = sap.ui.getCore().byId("masterList");
if(oList)
  oList .removeSelections(true);