From 133de9a0871727073ac9c1516aedcf1e5ab90abb Mon Sep 17 00:00:00 2001 From: zxhlyh Date: Tue, 19 Nov 2024 14:00:54 +0800 Subject: [PATCH] fix: upload file component support multiple (#10817) --- .../components/base/file-uploader/file-input.tsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/web/app/components/base/file-uploader/file-input.tsx b/web/app/components/base/file-uploader/file-input.tsx index e981278c14..f7d659c66f 100644 --- a/web/app/components/base/file-uploader/file-input.tsx +++ b/web/app/components/base/file-uploader/file-input.tsx @@ -13,10 +13,19 @@ const FileInput = ({ const files = useStore(s => s.files) const { handleLocalFileUpload } = useFile(fileConfig) const handleChange = (e: React.ChangeEvent) => { - const file = e.target.files?.[0] + const targetFiles = e.target.files - if (file) - handleLocalFileUpload(file) + if (targetFiles) { + if (fileConfig.number_limits) { + for (let i = 0; i < targetFiles.length; i++) { + if (i + 1 + files.length <= fileConfig.number_limits) + handleLocalFileUpload(targetFiles[i]) + } + } + else { + handleLocalFileUpload(targetFiles[0]) + } + } } const allowedFileTypes = fileConfig.allowed_file_types @@ -32,6 +41,7 @@ const FileInput = ({ onChange={handleChange} accept={accept} disabled={!!(fileConfig.number_limits && files.length >= fileConfig?.number_limits)} + multiple={!!fileConfig.number_limits && fileConfig.number_limits > 1} /> ) }