reactjs - 如何在提交时清除表单中的预览图像,但在 React 中将其显示在网页中没有任何问题?
问题描述
我能够在提交表单时重置输入文件图像,但它也已在网页中清除。我只需要在提交时清除图像并在页面中显示图像。
[在此处查看表单图像][1] [我想在网页上显示这样的图像][2]
这是我的代码:
const [fileImage, setfileImage] = useState(null);
const handleImage = (event) => {
setfileImage(URL.createObjectURL(event.target.files[0]));
}
<div className="image-upload">
<form onSubmit={handleSubmit}>
<span>Image Upload</span>
<label className="custom-file-button"> <input
type="file"
onChange={handleImage} />
Upload Image
</label>
{fileImage && (<div className="image-preview">
<img src={fileImage} />
</div>)}
</div>
<div className="click-retrieve">
<button type="submit" className="data-saving">Save</button>
<button className="closing-window" onClick={toggle}>Close</button>
</div>
<form>
[1]: https://i.stack.imgur.com/ivcIe.png
[2]: https://i.stack.imgur.com/DqbID.png
解决方案
它是“表单”的属性,当您单击提交按钮时,它会刷新整个页面,删除您不需要的表单,并从提交按钮中删除 type="submit",然后调用“按钮的handleSubmit”函数,如下所示:
<div className="image-upload">
<span>Image Upload</span>
<label className="custom-file-button"> <input
type="file"
onChange={handleImage} />
Upload Image
</label>
{fileImage && (<div className="image-preview">
<img src={fileImage} />
</div>)}
</div>
<div className="click-retrieve">
<button onClick={handleSubmit} className="data-saving">Save</button>
<button className="closing-window" onClick={toggle}>Close</button>
</div>
推荐阅读
- github - 无法在 GitHub 上创建仓库
- javascript - 将这个对象数组转换为另一个对象的最佳方法是什么?
- php - 从自定义包中的控制器获取配置参数
- redux - 使用 redux-toolkit 创建简单的选择器函数
- google-cloud-platform - 数据流项目中的stackdriver监控api
- java - 导入的数据仅显示在 JTable (Java) 的第一列中
- python-3.x - 如何从 Python Selenium 中的类中提取所有 href?
- python - 在破折号中加载带有预选值(例如boxSelect)的绘图模式栏
- python - 在 Python 中从 PDF 文件中提取文本
- android - Kotlin,Android Studio 中的自定义 .svg 谷歌地图标记