Select
Membuat select dengan options.
Select memakai z.string() dan daftar options pada fieldConfig. Nilainya berupa string. Gunakan z.enum() bila nilai harus dibatasi ke pilihan tertentu oleh validator.
Penggunaan
Gunakan form dari useForm. Lihat persiapan awal.
const schema = z.object({ country: z.enum(["id", "jp"]) });
<ErlForm
form={form}
schema={schema}
fieldConfig={{
country: {
options: [
{ label: "Indonesia", value: "id" },
{ label: "Jepang", value: "jp" },
],
},
}}
/>label adalah teks yang terlihat, sedangkan value disimpan dalam form. Memilih Indonesia menghasilkan country: "id".
Pilihan dari enum
Schema z.enum(["id", "jp"]) membuat pilihan select otomatis tanpa options eksplisit. Untuk label yang lebih jelas, isi options dengan value yang sama seperti enum. Pilihan menggunakan string; enum angka tidak menjadi select otomatis.
options juga menerima callback sinkron untuk pilihan dinamis. Jika nilai saat ini tidak ada lagi dalam opsi, renderer mengosongkannya menjadi string kosong. type radio dapat mengubah tampilan menjadi radio.