no TS / Image upload form
This commit is contained in:
45
src/components/Input/ImageUpload.js
Normal file
45
src/components/Input/ImageUpload.js
Normal file
@@ -0,0 +1,45 @@
|
||||
import React, { useState } from "react";
|
||||
|
||||
export default function ImageUpload() {
|
||||
const [file, setFile] = useState(null);
|
||||
const [imagePreviewURL, setPreviewURL] = useState("");
|
||||
|
||||
const handleInputChange = (event) => {
|
||||
setFile(event.target.files[0]);
|
||||
let reader = new FileReader();
|
||||
|
||||
reader.onloadend = () => {
|
||||
setPreviewURL(reader.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(event.target.files[0]);
|
||||
};
|
||||
|
||||
let imagePreview = <div className="image-preview">Proszę wybrać obraz.</div>;
|
||||
if (imagePreviewURL) {
|
||||
imagePreview = (
|
||||
<div className="image-preview">
|
||||
<img
|
||||
className="preview"
|
||||
src={imagePreviewURL}
|
||||
width="200"
|
||||
alt="Obraz"
|
||||
></img>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="image-upload-container">
|
||||
{imagePreview}
|
||||
<input
|
||||
name="menuiImage"
|
||||
id="file"
|
||||
type="file"
|
||||
className="input-image"
|
||||
onChange={handleInputChange}
|
||||
></input>
|
||||
<label for="file">Wybierz plik...</label>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user