我试图在主视图中选择列表的第一项。我正在从 Detail 控制器执行此操作。我可以选择列表中的项目,但它不会触发事件以在“详细信息”视图中显示详细信息。
主视图.xml
<List id="idMasterList" mode="{device>/listMode}" select="onSelect"
noDataText="{i18nMaster>masterListNoDataText}"
items="{ path: '/', sorter: {path: 'name'} }" icon="sap-icon://refresh">
<items>
<StandardListItem id="idStandardItem" type="{device>/listItemType}"
tooltip="{name}"
title="{name}"
info="{total}/{due}"
/>
</items>
</List>
Run Code Online (Sandbox Code Playgroud)
详细信息.controller.js
sap.ui.getCore().byId("__xmlview2--idMasterList").getItems()[0].setSelected(true);
Run Code Online (Sandbox Code Playgroud)
我找不到任何可以直接解决这个问题的信息(或)我没有得到它!!!
任何帮助表示赞赏。
谢谢
您可以setSelectedItem()在 List 而不是setSelected()ListItem上调用该方法。该setSelectedItem()方法确实有第三个未公开的参数:bFireEvent。
var list = this.byId("idMasterList");
list.setSelectedItem(list.getItems()[0], true /*selected*/, true /*fire event*/);
Run Code Online (Sandbox Code Playgroud)
参见JSBin 示例
但请注意,这是一个未记录的参数。它可能会在未来版本中更改,恕不另行通知(但到目前为止还没有)。