提问者:小点点

如何在事件发生后删除/清除已加载的数据


我想加载一个CSV文件并发送到后端。为此,我使用了react-csv-reader。我基本上加载一个文件,然后再按下另一个按钮,将数据发送到后端。我的问题是,发送到后端后,文件仍然保持选择/上传。我该如何去除或清洁它?

我的代码:

<CSVReader
  cssClass="btn btn-default btn-sm m-t-10 waves-effect"
  label="Seleziona un file CSV"
  inputId="leadsFile"
  inputName="leadsFile"
  inputStyle={{ color: 'red' }}
  onFileLoaded={data => handleUploading(data)}
/>
//...
const handleUploading = data => {
  setSelectedFile(data);
};

正如我所说的,我将文件内容放入data中,并将其发送到后端,但文件仍然保持“已加载”状态。有什么办法可以把它弄干净吗?


共1个答案

匿名用户

您可以用表单包装该元素,然后可以重置它,如下所示:

export default function App() {
  const ref = useRef();
  return (
    <div className="App">
      <form ref={ref}>
        <CSVReader
          cssClass="btn btn-default btn-sm m-t-10 waves-effect"
          label="Seleziona un file CSV"
          inputId="leadsFile"
          inputName="leadsFile"
          inputStyle={{ color: "red" }}
          onFileLoaded={(data) => {
            console.log(data);
            ref.current.reset();
          }}
        />
      </form>
    </div>
  );
}

我知道那不是合适的地方,但这只是给你一个例子