Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 成功提交数据后,如何从文件输入中清除文件选择?_Javascript_Forms_Reactjs - Fatal编程技术网

Javascript 成功提交数据后,如何从文件输入中清除文件选择?

Javascript 成功提交数据后,如何从文件输入中清除文件选择?,javascript,forms,reactjs,Javascript,Forms,Reactjs,我正在使用react.js,我有一个表单,我正在提交一个API,该表单可以正常工作,直到我想要清除字段为止。实际上有一个字段,特别是文件输入。我无法将其重置回“未选择文件”,我尝试创建一个files=属性,并通过状态控制它,以及所有操作。什么都没用,我错过了什么 我只想在成功提交后重置它 正确的方法是什么 <input type="file" name="js-case-upload" className="form-control-static" file

我正在使用react.js,我有一个表单,我正在提交一个API,该表单可以正常工作,直到我想要清除字段为止。实际上有一个字段,特别是文件输入。我无法将其重置回“未选择文件”,我尝试创建一个files=属性,并通过状态控制它,以及所有操作。什么都没用,我错过了什么

我只想在成功提交后重置它

正确的方法是什么

<input
    type="file"
    name="js-case-upload"
    className="form-control-static"
    filename={this.state.files}
    accept="image/*"
    onChange={ this._onChangeFileInput }
/>

考虑在文件输入中添加一个
ref=“file”
,提交数据后,使用类似
this.refs.file.value=''

编辑:


甚至是一个更简单的解决方案:

考虑在文件输入中添加一个
ref=“file”
,在提交数据后,使用类似于
this.refs.file.value='

编辑:


即使是一个更简单的解决方案:

考虑到
输入
具有
id
myFile
,那么该文件可以通过普通javascript重置,如下所示:


document.getElementById(“myFile”).value=“”

考虑到
输入
具有
id
myFile
,则可以通过如下方式重置文件:

document.getElementById(“myFile”).value=“”

const Upload=({onUpload})=>{
const ref=useRef();
const onChange=(e)=>{
onUpload(e.target.files,()=>{
ref.current.files=null;
});
};
回来
};
我上传文件后就回拨了。在回调中,我只是将文件设置为null。

const Upload=({onUpload})=>{
const ref=useRef();
const onChange=(e)=>{
onUpload(e.target.files,()=>{
ref.current.files=null;
});
};
回来
};

我上传文件后就回拨了。在回调中,我只是将我的文件设置为null。

你能发布你的代码吗?你能发布你的代码吗?除非我遗漏了什么,否则JSFIDLE不会提供任何有用的信息除非我遗漏了什么,否则JSFIDLE不会提供任何有用的信息
    const Upload = ({ onUpload }) => {
      const ref = useRef();

      const onChange = (e) => {
        onUpload(e.target.files, () => {
          ref.current.files = null;
        });
      };

      return <input ref={ref} onChange={onChange} type="file" />;
    };