x-ui-design 0.2.91 → 0.2.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -83,7 +83,7 @@ export interface FormItemChildComponentProps {
83
83
  export interface FormInstance {
84
84
  submit: () => Promise<Record<string, RuleTypes> | undefined>;
85
85
  setFields: (fields: FieldData[]) => void;
86
- resetFields: (nameList?: string[], showError?: boolean) => void;
86
+ resetFields: (nameList?: string[], showError?: boolean | null) => void;
87
87
  getFieldError: (name: string) => string[];
88
88
  registerField: (name: string, rules?: RuleObject[]) => void;
89
89
  setFieldValue: (name: string, value: RuleTypes) => void;
package/dist/index.esm.js CHANGED
@@ -638,12 +638,18 @@ const useForm = (initialValues = {}, onFieldsChange, onValuesChange) => {
638
638
  errors: err
639
639
  }));
640
640
  }
641
- function setFieldValue(name, value, errors, reset) {
642
- if (!reset && ([undefined, null].includes(value) || formRef.current[name] === value)) {
641
+ function setFieldValue(name, value, errors, reset = null) {
642
+ if (!reset && reset !== null && ([undefined, null].includes(value) || formRef.current[name] === value)) {
643
643
  return;
644
644
  }
645
645
  formRef.current[name] = value;
646
646
  touchedFieldsRef.current.add(name);
647
+ if (reset === null) {
648
+ setErrors({
649
+ [name]: []
650
+ });
651
+ return;
652
+ }
647
653
  if (!errors?.length) {
648
654
  validateField(name).then(() => {
649
655
  const allValues = getFieldsValue();
@@ -737,37 +743,23 @@ const useForm = (initialValues = {}, onFieldsChange, onValuesChange) => {
737
743
  const results = await Promise.all(fieldsToValidate.map(name => validateField(name)));
738
744
  return results.every(valid => valid);
739
745
  }
740
- function resetFields(nameList, showError = false) {
746
+ function resetFields(nameList, showError = true) {
741
747
  if (nameList?.length) {
742
748
  nameList.forEach(name => {
743
749
  formRef.current[name] = initialValues[name];
744
750
  touchedFieldsRef.current.delete(name);
745
751
  delete warningsRef.current[name];
746
- if (showError) {
747
- setErrors(prev => ({
748
- ...prev,
749
- [name]: []
750
- }));
751
- setFieldValue(name, initialValues[name], undefined, true);
752
- } else {
753
- setFieldValue(name, initialValues[name], undefined, true);
754
- setErrors(prev => ({
755
- ...prev,
756
- [name]: []
757
- }));
758
- }
752
+ setErrors(prev => ({
753
+ ...prev,
754
+ [name]: []
755
+ }));
756
+ setFieldValue(name, initialValues[name], undefined, showError);
759
757
  });
760
758
  } else {
761
759
  touchedFieldsRef.current.clear();
762
760
  warningsRef.current = {};
763
761
  Object.keys(formRef.current).forEach(name => {
764
- setFieldValue(name, initialValues[name], undefined, true);
765
- if (!showError) {
766
- setErrors(prev => ({
767
- ...prev,
768
- [name]: []
769
- }));
770
- }
762
+ setFieldValue(name, initialValues[name], undefined, showError);
771
763
  });
772
764
  }
773
765
  formSubscribers.current.forEach(callback => callback(getFieldsValue()));