diff --git a/.changeset/grumpy-bees-arrive.md b/.changeset/grumpy-bees-arrive.md new file mode 100644 index 00000000..eea67aee --- /dev/null +++ b/.changeset/grumpy-bees-arrive.md @@ -0,0 +1,5 @@ +--- +'@cube-dev/ui-kit': patch +--- + +Reset field status on `setFieldValue()`. diff --git a/src/components/form/Form/use-form.tsx b/src/components/form/Form/use-form.tsx index 47145240..102046f7 100644 --- a/src/components/form/Form/use-form.tsx +++ b/src/components/form/Form/use-form.tsx @@ -84,8 +84,9 @@ export class CubeFormInstance< } if (!field || isEqual(field.value, newData[name])) { - if (field && touched === false) { + if (field) { field.errors = []; + field.status = undefined; } return; @@ -98,12 +99,13 @@ export class CubeFormInstance< } field.inputValue = newData[name]; + field.errors = []; + field.status = undefined; if (touched === true) { field.touched = touched; } else if (touched === false) { field.touched = false; - field.errors = []; } }); @@ -181,15 +183,13 @@ export class CubeFormInstance< } field.inputValue = value; + field.errors = []; + field.status = undefined; if (isTouched) { field.touched = isTouched; } - if (!skipRender) { - field.errors = []; - } - if (isTouched && !inputOnly) { this.onValuesChange && this.onValuesChange(this.getFormData()); this.submitError = null;