问题描述
我需要发送ID到deleteapi来删除文档。
到目前为止,上传工作正常,我能够从xhr获得响应。从此响应中,我将获得一个ID,并且在删除文档时必须传递此ID。每个上传的文档都有唯一的ID。我不知道如何为该dzu-previewButton-关闭按钮分配ID。
import React,{ useEffect,useState } from "react";
import "react-dropzone-uploader/dist/styles.css";
import Dropzone from "react-dropzone-uploader";
import { useParams } from "react-router-dom";
import axios from "axios";
export default function UploadDocumentNew(props) {
const delurl = props.delurl;
const [docID,setDocID] = useState(0);
let { id } = useParams();
let clientID = id;
const getUploadParams = ({ file,Meta }) => {
const body = new FormData();
body.append("upload_document",file);
body.append("document_name",Meta.name);
body.append("document_type",props.documentType);
body.append("year",props.financialYr);
body.append("client_id",clientID);
// console.log("upload ran");
return {
url: uploadUrl,body,};
};
// called every time a file's `status` changes
const handleChangeStatus = ({ Meta,file,xhr },status) => {
if (status == "done") {
let res = JSON.parse(xhr.response);
setDocID(res.data.id);
// this ID has to be assigned/passed as props to the delete file button
} else if (status == "removed") {
// this is the ID of selected document.
deleteFiles(docID).then((response) => {
console.log("data deleted");
console.log(response);
});
} else {
console.log("other status");
}
};
const deleteFiles = (docID) => {
let delUrl = `${deleteUrl}${docID}`;
return axios.delete(delUrl);
};
return (
<div className="uploadFileBox">
<Dropzone
getUploadParams={getUploadParams}
onChangeStatus={handleChangeStatus}
// onSubmit={handleSubmit}
accept=".pdf,.xls,.xlsx,.doc,.docx,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"
inputContent="Drag to upload or browse File"
/>
<p>Upload pdf,xlsx,and xls documents</p>
</div>
);
}
请帮助我。谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)