首页 > 解决方案 > 如何重置文件输入的值?

问题描述

如何重置this.fileInput为空或 null 或未定义?

class FileInput extends React.Component {
  constructor(props) {
    super(props);
    this.handleSubmit = this.handleSubmit.bind(this);
    this.fileInput = React.createRef();  }
  handleSubmit(event) {
    event.preventDefault();
    alert(`Selected file - ${this.fileInput.current.files[0].name}`);
    // Assume I have uploaded the file here
    // How do I reset this.fileInput to empty Ref?
  }

  render() {
    return (
      <form onSubmit={this.handleSubmit}>
        <label>
          Upload file:
          <input type="file" ref={this.fileInput} />        </label>
        <br />
        <button type="submit">Submit</button>
      </form>
    );
  }
}

ReactDOM.render(
  <FileInput />,
  document.getElementById('root')
);

标签: javascriptreactjs

解决方案


只需清除您的参考值

this.fileInput.current.value = ''

推荐阅读