问题描述
谁能告诉我如何使用 react-dropzone 或 react-dropzone-uploader 在 Chonky.io“上传按钮”中以编程方式触发文件上传对话框?这是我目前想到的。
export const useFileActionHandler = (
setCurrentFolderId: (folderId: string) => void,deleteFiles: (files: CustomFileData[]) => void,moveFiles: (
files: FileData[],source: FileData,destination: FileData,) => void,createFolder: (folderName: string) => void,) => {
const handleFileCallback = useCallback(
(data: ChonkyFileActionData) => {
if (data.id === ChonkyActions.OpenFiles.id) {
const { targetFile,files } = data.payload;
const filetoOpen = targetFile ?? files[0];
if (filetoOpen && FileHelper.isDirectory(filetoOpen)) {
setCurrentFolderId(filetoOpen.id);
return;
}
} else if (data.id === ChonkyActions.DeleteFiles.id) {
deleteFiles(data.state.selectedFilesForAction!);
} else if (data.id === ChonkyActions.MoveFiles.id) {
moveFiles(
data.payload.files,data.payload.source!,data.payload.destination,);
} else if (data.id === ChonkyActions.CreateFolder.id) {
const folderName = prompt('Provide the name for your new folder:');
if (folderName) createFolder(folderName);
} else if (data.id === uploadFiles.id) {
console.log('UPLOAD FILES');
}
},[
createFolder,deleteFiles,moveFiles,setCurrentFolderId,],);
return {
handleFileCallback,};
};
现在,当我单击按钮时,我可以控制台记录“上传文件”这个词,但我不知道如何触发 react-dropzone 或 react-dropzone-uploader 的文件对话框打开。从上周开始我一直在寻找这个问题的答案,希望你能帮助我。谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)