Gabungkan nama yup dan react-hook-form apabila menggunakan tatasusunan objek
P粉743288436
P粉743288436 2023-08-17 21:56:44
0
1
489
<p><br /></p><h4>Saya cuba menggabungkan <kod>react-hook-form</code> dengan <kod>register< kod> ;yup</code> Matlamat saya ialah untuk menghantar nama seperti <code>exampleArray${index}.exampleProp</code> </h4> <p>Contoh mudah:</p> <pre class="brush:php;toolbar:false;">import * sebagai yup daripada "yup"; import { useForm } daripada "react-hook-form"; import { yupResolver } daripada "@hookform/resolvers/yup"; skema const = yup.object().shape({ exampleArr: yup.array().of( yup.object().shape({ exampleProp:yup.string() }) ) }); taip FormValues ​​​​= yup.InferType<jenis skema>; eksport fungsi lalai App() { kaedah const = useForm<FormValues>({ penyelesai: yupResolver(skema) }); kembali ( <jenis input="teks" {...methods.register("exampleArr[0].exampleProp")} /> ); }</pre> <blockquote> <p>Parameter jenis '"exampleArr[0].exampleProp"' tidak boleh ditugaskan untuk menaip '"exampleArr" | <code>exampleArr.${number}</code>exampleArr.$ { number}.exampleProp</code>'. </p> </blockquote> <p>Contoh dalam codesandbox: https://codesandbox.io/s/funny-orla-97p8m2?file=/src/App.tsx</p>
P粉743288436
P粉743288436

membalas semua(1)
P粉312631645

Apakah jenis yang perlu anda beritahu exampleArr.${number}:

Sebagai contoh, saya baru sahaja menguji ini pada kotak pasir anda dan ia berfungsi dengan baik:

<input type="text" {...methods.register("exampleArr[0].exampleProp" as any)} />
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan