Custom Field
Custom field pada AlurkerjaForm dapat dilakukan dengan cara menggunakan attribute customField. customField menerima 4 variabel yaitu field yang bertipe [string, FieldProperties] index pertama merupakan nama field sedangkan index kedua merupakan spec field. kemudian setValue digunakan untuk men-set nilai. defaultField merupakan elemen yang digenerate oleh library dan yang terakhir adalah value, apabila AlurkerjaForm diberi attribute id, maka masing2 field akan memiliki value.
Contoh
Pada API https://kpm-sys.merapi.javan.id/api/crud/pengurusan-rekod-aktiviti-pemohon saya ingin mengcustom field dengan name SENARAI_REKOD_AKTIVITI_ID karena dari alurkerja masih memiliki bug dan belum bisa menggunakan input tipe select. berikut codenya:
import { AlurkerjaForm, Select } from 'alurkerja-ui'
import { useForm } from 'react-hook-form'
const Halaman = () => {
const { formState, handleSubmit, control, setValue } = useForm()
const baseUrl = 'https://kpm-sys.merapi.javan.id'
const tableName = 'pengurusan-rekod-aktiviti-pemohon'
return(
<AlurkerjaForm
baseUrl={baseUrl}
tableName={tableName}
formState={formState}
handleSubmit={handleSubmit}
control={control}
setValue={setValue}
customField={({ field, setValue, defaultField }) => {
if (field.name === 'SENARAI_REKOD_AKTIVITI_ID') {
return (
<Select
options={[{ label: 'opsi1', value: 1 }]}
onChange={(selected: any) => setValue(fieldSpec.name, selected.value)}
/>
)
}
return defaultField
}}
/>
)
}