{q.options.map((opt, idx) => {
const isChecked = Array.isArray(field.value) && field.value.includes(opt);
return (
{
const current = Array.isArray(field.value) ? field.value : [];
const updated = checked
? [...current, opt]
: current.filter((item) => item !== opt);
field.onChange(updated);
}}
/>
);
})}
{q.allowOther && (
{
const current = Array.isArray(field.value) ? field.value : [];
const updated = checked
? [...current, "__OTHER__"]
: current.filter(x => x !== "__OTHER__");
field.onChange(updated);
}}
/>
{Array.isArray(field.value) && field.value.includes("__OTHER__") && (
setOtherValues(prev => ({...prev, [q.id]: e.target.value}))}
placeholder="โปรดระบุ"
disabled={!form.isOpen || isSubmitting}
/>
)}
)}