Sapui5 如何从StandardListItem获取所选项目

Sapui5 如何从StandardListItem获取所选项目,sapui5,Sapui5,我正在构建一个主细节应用程序。我用它列出主对象。我希望选定的主对象显示在详细信息页面上 <List id="lstRequest" headerText="Custom Content" selected="true" items="{ path: '/Requests', parameters: { expand: 'RequestTypeDetails' } }"> <StandardListItem titl

我正在构建一个主细节应用程序。我用它列出主对象。我希望选定的主对象显示在详细信息页面上

<List id="lstRequest" headerText="Custom Content" selected="true" items="{
    path: '/Requests',
    parameters: {
        expand: 'RequestTypeDetails'
    }
}">
    <StandardListItem
        title="{RequestTypeDetails/RequestType2} - {RequestCode}"
        description="{TotalAdvance}"
        icon="sap-icon://request"
        iconDensityAware="false"
        iconInset="false"
        type="Navigation"
        press="onSelectApprovation"
    />
</List>

bindingobject
在onSelectApprovation中是
未定义的

请执行以下操作:

var oItem = oEvent.getParameter("listItem") || oEvent.getSource());
var oCtx = oItem.getBindingContext();
var requestCode = oCtx.getProperty("RequestCode");

顺便说一下:sap.m.List没有布尔类型的“selected”属性。但是,它有一个select事件,也可以用来代替StandardListItem的press事件…

在将json模型设置为如下列表时给出逻辑名称

this.getView().byId("lstRequest").setModel(oListJson,"List");
oListJson将是您的数据数组

现在使用代码访问onSelectApprovation函数中的列表对象,如下所示

onSelectApprovation : function(oEvent){
     var bindingobject = oEvent.getSource().getBindingContext("List");
}

我想得到整个物体。我可以使用oCtx.getObject()。顺便说一句,选择“仅当使用“模式”属性时事件才起作用”。此属性用于将循环checbox添加到UI。我更喜欢使用press-eventYes,getObject()是您需要的。我也会回答,但是,你删除了你的评论…;-)是的,我已经删除了,因为我已经找到了答案。无论如何,谢谢!
onSelectApprovation : function(oEvent){
     var bindingobject = oEvent.getSource().getBindingContext("List");
}