在sap.m.List中获取按下的StandardListItem的索引

2020-09-03 11:05发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试将MVC...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在尝试将MVC模式用于SAPUI5,并且大部分事情都在起作用。 我有一个XMLView,它绑定一个分配给" DS"名称的JSONModel,该JSONModel具有如下数据:

 {
 磁贴:[{标题:"标题A"},{标题:"标题B"},...],
 otherProperty:[...]
 }
 

在我看来,XML能够将数据绑定到sap.m.List,如下所示:

 
   
   <工具栏>
   <标题文本="标题"级别=" H1"/>
   
   

我的问题是您可以看到我有一个分配给StandardListItem模板的tileDetail处理程序。 这可以正确触发,但是我需要确定它所在的tile数组中的位置(JSON结构中没有键可依赖)。

我一直在玩各种各样的bindingContext东西,我可以得到一个PATH但没有它的索引...有什么想法吗?

 tileDetail:函数(oControlEvent){
   var oItem = oControlEvent.getSource();
   var oCtx = oItem.getBindingContext(" DS");
   var path = oCtx.getPath(); //返回/tiles/0
   alert(oCtx.getProperty(" header")); //返回"标题A"
   尝试{
   this.getRouter()。navTo(" tiles",{
   索引://??? 我如何传递0、1、2等???
   });
   }抓住{e} {
   alert("错误导航:" + e);
   }
   
   },
 

我希望我只是做错了什么,有一种简单的方法可以将索引传递给路由器(我的最终目标)-当然,我不必做一些低技术的事情,例如在路径上分割字符串 基于斜线等?

感谢您的帮助!

9条回答
小c菟菟
2020-09-03 12:02

这是我的代码示例:

onBelegDeleteButtonPress:function(oEvent){//当我按下列表项时调用

var oSelectedItem = oEvent.getParameter('listItem'); //获取ListItem

var sPath = oSelectedItem.getBindingContext()。getPath(); //获取项目绑定到的路径

var iSelectedItemIndex = parseInt(sPath.substring(sPath.lastIndexOf('/')+ 1)); //获取列表项的索引

返回iSelectedItemIndex;

},

一周热门 更多>