diff --git a/src/lib/controls/AnyOfControl.svelte b/src/lib/controls/AnyOfControl.svelte index 98051d9..24d4796 100644 --- a/src/lib/controls/AnyOfControl.svelte +++ b/src/lib/controls/AnyOfControl.svelte @@ -70,10 +70,16 @@ function resetSelected(schemas: JSONSchema7[]) { let newSelected = schemas.find(schema => Validator.validate(schema, data)) ?? null; + const resetData = (newSelected == null); if (force && (newSelected == null)) { newSelected = schemas[0]; } - setSelected(newSelected); + if (resetData) { + setSelected(newSelected); + } + else if (selected !== newSelected) { + selected = newSelected; + } }