问题描述
启动应用程序时,我在UploadCollection-Control中看到上传的文件。
但是按下按钮后,它不会在后端调用DELETE_STREAM方法。
我是否必须在前端触发自己DELETE_STREAM?
调用时是否可以将诸如documentid或自定义参数之类的参数发送到DELETE_STREAM?
<UploadCollection
id="UploadCollection"
mode="SingleSelectMaster"
beforeUploadStarts="onBeforeUploadStarts"
multiple="false"
instantUpload="false"
uploadUrl="/sap/opu/odata/sap/xyz"
uploadComplete="onUploadComplete">
<items>
<UploadCollectionItem
documentId="{Documentid}"
fileName="{Filename}" url="/sap/opu/odata/sap/xyz/$value"
mimeType="{Mimetype}">
</UploadCollectionItem>
</items>
</UploadCollection>
解决方法
您必须实现UploadCollection的事件fileDeleted。
<UploadCollection
...
fileDeleted="onFileDeleted">
在此方法中,您可以获取已删除项目的绑定上下文。然后,使用此信息,您将不会触发DELETE_STREAM
,而是会触发您实体的DELETE
方法:
onFileDeleted: function(oEvent) {
const sPath = oEvent.getParameter("item").getBindingContext().getPath();
this.getModel().remove(sPath,{
success: (oData) => {},error: (oError) => {}
});
}