Gabungkan nama yup dan react-hook-form apabila menggunakan tatasusunan objek
P粉743288436
2023-08-17 21:56:44
<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>
Apakah jenis yang perlu anda beritahu
exampleArr.${number}
:Sebagai contoh, saya baru sahaja menguji ini pada kotak pasir anda dan ia berfungsi dengan baik: