UploadCollection instantUpload="false" 嵌入列表时
UploadCollection instantUpload="false" when Embedded in List
我正在使用 sap.m.UploadCollection
来管理用户 select 编辑并上传到服务器的文件。我希望用户 select 所有必需的文件,然后按 'Save' 按钮一次上传所有文件。因此,我将 instantUpload
设置为 false
。此 UploadCollection
是 sap.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&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 的另一项(文件),这会造成混淆。
我正在使用 sap.m.UploadCollection
来管理用户 select 编辑并上传到服务器的文件。我希望用户 select 所有必需的文件,然后按 'Save' 按钮一次上传所有文件。因此,我将 instantUpload
设置为 false
。此 UploadCollection
是 sap.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&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 的另一项(文件),这会造成混淆。