Material UI (MUI) seva populer e ji bo pêşkeftina UI di serlêdanên React de. Lê, dema ku fûnksiyonê şewitandina pelan hatine çêkirin, hinek çewtiyên giştî an pirsgirêkan gihîjîdî dikin. Di vê gotarê de, em ê li ser çewtiyên giştî yên şewitandina pelan bi Material UI û çareseriyên wan şirove bikin.
Heke hûn bi React Hook Form re girêdan in, piştî hilbijartina pelan nirxên formulê nîz dikin dûr dikin, û çewtiya têkildar jî ma dike.
Çareser: bi setValue
fûnksiyona neteweyê nirxê piştrast bikin.
import { useForm } from 'react-hook-form';
const { register, setValue, handleSubmit, formState: { errors } } = useForm();
const handleFileChange = (event) => {
const file = event.target.files[0];
setValue('uploadFile', file);
};
Çareser: bi Button
komponenta component="label"
yê binavkirin.
<Button variant="contained" component="label">
Pelan hilbijêre
<input type="file" hidden onChange={handleFileChange} />
</Button>
accept
taybetmendiyek di nihêr de nayê gîhandinÇareser: ya xwerû input
eleman bi kar bînin an taybetmendiyek li ser rûniye.
<input type="file" accept=".jpg,.png" onChange={handleFileChange} />
Çareser: bi JavaScript re validasyonê zêde bikin.
const handleFileChange = (event) => {
const file = event.target.files[0];
const maxSize = 2 * 1024 * 1024; // 2MB
const allowedExtensions = ['jpg', 'png'];
const fileExtension = file.name.split('.').pop().toLowerCase();
if (file.size > maxSize) {
alert('Mezinahiya pelan zêde ye.');
return;
}
if (!allowedExtensions.includes(fileExtension)) {
alert('Forma pelan ne qebûl e.');
return;
}
// Heke pelan şertên diyar bikin, ev çalakî bike
};
MuiFileInput
tê bikaranîn, bi setValue
nirxên formulate nû bikinButton
bi component="label"
yê binavkirininput
ya accept
rast bi kar dibeJi bo test û demo yên fûnksiyonê şewitandina pelan, UploadF heye.
De di çêkirina fûnksiyona şewitandina pelan bi Material UI de hinek çewtiyên din têne dîtin, lê şîroveya vê gotarê ji bo rast çalakirinê hûn dikarin serhildan vekin.