我们在控制器中创建StandardListItems时遇到问题。我们这样做是因为我们必须调用与bindItems相关的另一个OData端点,以获取附件列表。您可以在Detail Controller中看到下面的部分。普通XML视图中的press属性将调用相关控制器中的函数。
我们期望以下方法具有相同的行为。因此,handleItemPress是处理程序,将在按下项目后调用。
但如前所说,没有任何事情发生。
我们为新闻事件尝试了不同的符号(绑定此和不绑定):
press: [this.handleItemPress, this]
press: this.handleItemPress
press: "handleItemPress"
他们都没有工作。那么,我们可以做些什么来使该项目的新闻工作?
详情视图:
<IconTabFilter
icon="sap-icon://attachment"
key="AttachmentTab"
text="{i18n>Attachments}">
<List
id="AttachmentList"
includeItemInSelection="true">
</List>
</IconTabFilter>
细节控制器:
if (evt.getParameter("key") === "AttachmentTab") {
var template = new sap.m.StandardListItem({
title: "{Objecttext}",
description: "{Filename}",
icon: {
path: "Type",
formatter: sap.ui.prototype.approval.util.Formatter.attachmentIcon
},
press: [this.handleItemPress, this]
});
this._byId("AttachmentList").bindItems(
"/Invoices(Bukrs='" + bukrs + "',Belnr='" + belnr + "',Gjahr='" + gjahr + "',EdcObject='" + edcObject + "')/Attachments",
template
);
}
},
handleItemPress : function (evt){
console.log("The item was pressed");
},
答案 0 :(得分:1)
选择StandardListItem的type属性。
var template = new sap.m.StandardListItem({
type: "Active",
title: "{Objecttext}",
description: "{Filename}",