【问题标题】:How to delete/clean a loaded data after an event如何在事件发生后删除/清理加载的数据
【发布时间】:2021-07-13 19:19:25
【问题描述】:

我想加载一个 CSV 文件并将其发送到后端。为此,我使用了react-csv-reader。我基本上加载一个文件,然后我按下另一个按钮并将数据发送到后端。我的问题是,将其发送到后端后,文件仍保持选中/上传状态。我怎样才能删除或清理它?

我的代码:

<CSVReader
  cssClass="myCSS"
  label="Choose a CSV"
  inputId="myCSV"
  inputName="myCSV"
  inputStyle={{ color: 'red' }}
  onFileLoaded={data => handleUploading(data)}
/>
//...
const handleUploading = data => {
  setSelectedFile(data);
};

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

【问题讨论】:

    标签: javascript node.js reactjs react-native frontend


    【解决方案1】:

    在将其发送到后端后,使用document.getElementById('myCSV').value = ' 解决了它。效果很好

    【讨论】:

      【解决方案2】:

      你可以用 form 包裹这个元素,然后你可以重置它,像这样:

      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();
                }}
              />
            <button type="button" onClick={() => ref.current.reset()}>Submit</button>
            </form>
          </div>
        );
      }
      

      我知道这不是正确的地方,但这只是给你的一个例子

      【讨论】:

      • 它有效!但是,我有单独的提交按钮.. 那我该怎么做呢?在 CSVReader 标记之外有一个带有 onClick 的按钮。我可以告诉那里重置它吗?
      • 你可以在任何你需要的地方添加ref.current.reset()
      • 是的,但是我将它添加到按钮,然后单击按钮,页面刷新..我相信因为它指向按钮属性。不是吗?
      • 嗯,您正在使用 &lt;button type="submit"&gt; 尝试使用 &lt;button type="button" onClick={() =&gt; { ref.current.submit(); ref.current.reset(); }}&gt; 。但是,这将不再刷新页面
      • 嗯,它没有帮助兄弟.. 我仍然可以看到数据被选中.. 虽然如果我把它放在 CSVReader 标签中它可以工作,但它会立即清除它
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      • 2021-07-20
      • 2011-12-07
      • 2018-09-06
      相关资源
      最近更新 更多