我正在使用
結果:

經過一番嘗試,如果檔案無效,我已阻止該檔案顯示在串列中,但不幸的是,上傳檔案的洗掉現在不起作用(在當前實施之前作業正常)。
uj5u.com熱心網友回復:
onRemove通過實作處理程式,我能夠洗掉選定/上傳的檔案。
例子:
const Uploader = () => {
const [fileList, setFileList] = useState<UploadFile[]>([]);
const validateFileType = (
{ type, name }: UploadFile,
allowedTypes?: string
) => {
if (!allowedTypes) {
return true;
}
if (type) {
return allowedTypes.includes(type);
}
};
const uploadProps = useMemo(
() => ({
beforeUpload: (file: UploadFile) => {
const isAllowedType = validateFileType(file, "image/png");
if (!isAllowedType) {
setFileList((state) => [...state]);
message.error(`${file.name} is not PNG file`);
return false;
}
setFileList((state) => [...state, file]);
return false;
},
onRemove: (file: UploadFile) => {
if (fileList.some((item) => item.uid === file.uid)) {
setFileList((fileList) =>
fileList.filter((item) => item.uid !== file.uid)
);
return true;
}
return false;
}
}),
[fileList]
);
return (
<Upload multiple {...uploadProps} fileList={fileList}>
<Button icon={<UploadOutlined />}>Upload png only</Button>
</Upload>
);
};
uj5u.com熱心網友回復:
您可以創建狀態并控制檔案串列。在新版本中,我們可以使用 Upload.LIST_IGNORE 但看看API Section. 如果你不想上傳檔案,你可以簡單地回傳 false 或者如果你使用 promise,你可以用 .reject 拒絕reject(false)。
查看beforeUpload上傳組件的 API 部分。

希望這能解決你的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/458919.html
下一篇:為什么查看檔案時出現值錯誤?
