Gunakan useState untuk menetapkan nilai yang dimasukkan dalam borang
P粉588660399
P粉588660399 2023-09-04 23:16:30
0
1
604
<p>Saya cuba menggunakan useState untuk menetapkan nilai input, tetapi ia tidak berfungsi seperti yang saya mahu. </p> <p>Jadi saya membuat jadual mingguan menggunakan Formik untuk sistem temu janji. Saya mempunyai butang radio untuk janji temu percuma. Apabila dipilih, saya mendapat data masa untuk janji temu. Tetapi saya tidak mendapat hari ini. Jadi saya cuba menambah input lain untuk mendapatkan data harian. Saya menetapkan nilai yang dimasukkan kepada keadaan. Apabila butang radio dipilih ia menetapkan tarikh. Tetapi onSubmit saya mendapat nilai awal dan bukannya nilai yang baru ditetapkan. Menariknya, apabila saya cuba menulis sesuatu dalam input, ia mengembalikan nilai yang saya mahu + kekunci terakhir yang saya tekan. Tetapi jika saya tidak melakukan apa-apa ia hanya mengembalikan nilai awal. </p> <p>Nilai awal borang saya: </p> <pre class="brush:php;toolbar:false;">const [day, setDay] = useState("Gün"); <Formik onSubmit={handleFormSubmit} initialValues={{ nama pertama: "", nama keluarga: "", e-mel: "", tarikh: "", hari: hari, }} ></pra> <p>Saya menetapkan status butang radio: </p> <pre class="brush:php;toolbar:false;"><Field type="radio" nama="tarikh" value={x.monPm3Time} onClick={() => setDay("Pazartesi"); }} /></pra> <p>Nilai input saya ditetapkan untuk menyatakan:</p> <pre class="brush:php;toolbar:false;"><Field id="hari" nama="hari" nilai = {hari} /></pra> <p>Fungsi serah pemegang saya (Saya hanya mengelognya sekarang untuk melihat sama ada ia berfungsi): </p> <pre class="brush:php;toolbar:false;">const handleFormSubmit = async (nilai) => console.log(nilai); // fetch("http://localhost:5000/api/appointment", { // kaedah: "POST", // badan: nilai, // tajuk: { // Keizinan: "Pembawa " + token, // }, // }) // .then((res) => { // console.log(res.status); // }) // .catch((err) => { // console.log(err); // }); }</pre></p>
P粉588660399
P粉588660399

membalas semua(1)
P粉046878197

Jadi saya cuba mereplikasi (sehingga kemampuan saya) soalan anda dalam editor kod dan saya dapat menukar teks dalam input apabila butang radio diklik. Anda boleh menemui pelaksanaan saya di sini: https://stackblitz.com/edit /react-b5rvzg?file=src%2FApp.js

Saya juga percaya anda tidak menghantar apa-apa ke fungsi handleFormSubmit anda, jadi anda tidak akan melihat apa-apa. Saya mungkin silap kerana saya tidak memahami sepenuhnya cara kod anda disediakan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan