-
Notifications
You must be signed in to change notification settings - Fork 303
Open
Description
Describe the bug
The onChange callback of FormBuilder from @formio/react is not triggered when the options prop is provided. This happens even if options is an empty object (options={{}}). As soon as options is set, form changes made in the builder UI no longer invoke the onChange handler.
Version/Branch
@formio/react: "6.1.1"
Framework: Next.js (App/Pages Router)
Rendering: client-side only (ssr: false via dynamic import)
To Reproduce
Steps to reproduce the behavior:
- Create a Next.js project and dynamically import
FormBuilder:
const FormBuilder = dynamic(
() => import('@formio/react').then((module) => module.FormBuilder),
{ ssr: false }
)- Define a simple onChange callback:
const handleFormChange = (schema: FormType) => {
console.log('i handled the change')
}- Render FormBuilder with initialForm, onChange, and any options prop (even an empty object):
<FormBuilder
initialForm={initialForm}
onChange={handleFormChange}
options={{}}
/>(The same issue occurs with a fully customized options.builder configuration.)
- Interact with the FormBuilder UI (add/remove/update components).
- Observe that handleFormChange is never called.
Expected behavior
The onChange callback should be triggered whenever the form schema changes in the FormBuilder, regardless of whether the options prop is provided (including options={{}}).
Metadata
Metadata
Assignees
Labels
No labels