这似乎确实是人们在使用sap.m.ListBase相关控件时经常遇到的问题。让我概述一下如何管理事件(尤其是完全激活它们):
混淆可能与sap.m.ListMode继承自的控件和继承自sap.m.ListBase的sap.m.ListType项目有关sap.m.ListItemBase。
让我们假设以下示例列表:
<List
selectionChange=".onSelectionChange"
itemPress=".onItemPress"
delete=".onDelete"
>
<items>
<ObjectListItem
title="Hello ListItem"
press=".onObjectListItemPress"
/>
</items>
</List>
sap.m.ListMode (示例)
如果您使用sap.m.Listor sap.m.Table,事件触发取决于mode您使用的。mode不幸的是,没有属性的列表/表格不会触发任何事件!如果您希望 List / Table 触发这些事件,则必须为其分配一个模式。例如:
<List
mode="SingleSelect"
...
>
这些是sap.m.ListMode文档中的可能模式:
无(默认)
由于没有mode分配任何属性,因此不会触发任何事件!

单选 | 单选左
列表控件mode="SingleSelect"在每个项目的右侧显示一个onSelectionChange单选按钮,并在用户单击给定单选按钮控件时立即触发事件。使用"SingleSelectLeft"只是将单选按钮移动到项目的左侧。

单选大师
列表控件mode="SingleSelectMaster"将在鼠标悬停时向您显示手,并onSelectionChange在单击项目时触发。

多选
列表控件提供了一个复选框,并在每次选中和mode="MultiSelect"取消选中项目时触发onSelectionChange事件。

删除
使用列表mode="Delete"为您提供了一个不错的删除按钮并触发onDelete。

sap.m.ListType (示例)
还有一个你应该看看的type属性:你的物品的属性。
每个项目都继承自sap.m.ListItemBase并因此具有一个名为 的属性type。让我们看看它的样子:
<items>
<ObjectListItem
type="Active"
press=".onObjectListItemPress"
detailPress=".onDetailPress"
...
/>
</items>
sap.m.ListMode文档中列出了这些类型:
积极的
根据mode,itemPress列表和 press列表项的 可以被触发。选定的项目会突出显示,以便用户可以看到选定的内容。

细节
sap-icon://edit提供了一个触发detailPress事件的详细信息按钮(带有图标)。

DetailAndActive
顾名思义,这是 Detail 和 Active 类型的组合。因此,您可以在detailPress单击按钮时触发详细信息按钮,并且该项目本身会触发列表事件itemPress。

导航
这些项目具有类似导航的外观,itemPress并且项目press被调用。

不活跃
不会从项目本身调用任何项目事件。
现在让我们来看看你的问题。您应该分配您的表格控件 amode或分配您的项目 a type。在那之后,事件应该被触发。
一般来说,我会避免同时使用 aListMode和 a ListType,因为可能会出现意外行为,但请自行检查。