Преглед изворни кода

feat: form use props.id apply to x-form-id first

pointhalo пре 2 година
родитељ
комит
9372decf97
1 измењених фајлова са 5 додато и 2 уклоњено
  1. 5 2
      packages/semi-ui/form/baseForm.tsx

+ 5 - 2
packages/semi-ui/form/baseForm.tsx

@@ -196,8 +196,10 @@ class Form<Values extends Record<string, any> = any> extends BaseComponent<BaseF
             },
             getAllErrorDOM: () => {
                 const { formId } = this.state;
+                const { id } = this.props;
+                const xId = id ? id : formId;
                 return document.querySelectorAll(
-                    `form[x-form-id="${formId}"] .${cssClasses.PREFIX}-field-error-message`
+                    `form[x-form-id="${xId}"] .${cssClasses.PREFIX}-field-error-message`
                 );
             },
             getFieldDOM: (field: string) =>
@@ -240,6 +242,7 @@ class Form<Values extends Record<string, any> = any> extends BaseComponent<BaseF
         const formState = this.foundation.getFormState(needClone);
         const updaterApi = this.foundation.getModifyFormStateApi();
         const { formId } = this.state;
+        const { id } = this.props;
         const {
             children,
             getFormApi,
@@ -279,7 +282,7 @@ class Form<Values extends Record<string, any> = any> extends BaseComponent<BaseF
                 onReset={this.reset}
                 onSubmit={this.submit}
                 className={formCls}
-                x-form-id={formId}
+                x-form-id={id ? id : formId}
             >
                 {this.content}
             </form>