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