SAPUI5 UploadCollection-如何触发删除文件?

问题描述

启动应用程序时,我在UploadCollection-Control中看到上传文件

按下文件旁边的“ X”按钮后,我想删除文件

但是按下按钮后,它不会在后端调用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) => {}
    });
}