UploadCollection instantUpload="false" 嵌入列表时

UploadCollection instantUpload="false" when Embedded in List

我正在使用 sap.m.UploadCollection 来管理用户 select 编辑并上传到服务器的文件。我希望用户 select 所有必需的文件,然后按 'Save' 按钮一次上传所有文件。因此,我将 instantUpload 设置为 false。此 UploadCollectionsap.m.List 中项目的一部分。当用户 select 从文件系统下载文件时,会自动执行上传(不需要)。如果我在 List 之外使用相同的 UploadCollection 定义,它不会立即上传。我需要让它在列表中正常工作。

代码片段:

<List
    items="{ path: 'submittal>/submission', templateShareable: true }">
    <layoutData>
        <layout:GridData span="XL12 L12 M12 S12"/>
    </layoutData>
    <items>
        <CustomListItem>
            <Panel headerText="Round # {submittal>roundId}" expandable="true" expanded="true">
                <forms:SimpleForm layout="ResponsiveGridLayout" editable="true">
                    <UploadCollection
                        noDataText="No documents on file"
                        items="{path : 'submittal>documents', templateShareable : false}"
                        mode="SingleSelectMaster"
                        uploadEnabled="true"
                        uploadButtonInvisible="false"           
                        uploadUrl="OptionController?optionId=JS002&#38;action=submittalUpload"
                        instantUpload="false"
                        multiple="true"
                        beforeUploadStarts="submittalBeforeUpload"
                        uploadComplete="submittalUploadComplete"
                        selectionChange="documentSelected">
                        <layoutData>
                            <layout:GridData span="XL6 L8 M10 S12" linebreakXL="true" linebreakL="true" linebreakM="true" linebreakS="true" />
                        </layoutData>
                        <items>
                            <UploadCollectionItem
                                documentId="{submittal>id}"
                                fileName="{submittal>name}"
                                mimeType="{submittal>typeName}"
                                selected="{submittal>selected}"
                                visibleEdit="false"
                                enableDelete="true"
                                deletePress="documentDelete">
                                <attributes>
                                    <ObjectAttribute title="File size" text="{ path: 'submittal>size', formatter: '.formatFileSize' }" />
                                </attributes>
                            </UploadCollectionItem>
                        </items>
                    </UploadCollection>
                 </forms:SimpleForm>
            </Panel>
        </CustomListItem>
    </items>
</List>

UI5版本:1.78.1

如有任何帮助,我们将不胜感激。

谢谢

建议直接在List中使用UploadCollection,Table,等等,但有一个简单的解决方法。

把一个sap.m.Button放到sap.m.List里就可以了,不用直接用sap.m.UploadCollection。然后用 sap.m.Dialog 定义 fragment,里面有 sap.m.UploadCollection。在按钮按下事件回调中,您只需将行上下文绑定到对话框中,这样您就可以显示正确的上传文件(如果有的话)。

您还可以在列表中设计一个按钮,使用附件图标作为图标 属性 并在文本中使用数字(计数器)属性 表示已发送的文件数已经上传。

如果最终用户看到列表项,然后在一个或多个列表项中看到来自 UploadCollection 的另一项(文件),这会造成混淆。