diff --git a/src/components/Form/src/components/FormItem.vue b/src/components/Form/src/components/FormItem.vue index fa144280c00642c178ec2ed0efad8a20c7ba4bce..44142713188c06fac15f9c5f4dc216e8e20adc85 100644 --- a/src/components/Form/src/components/FormItem.vue +++ b/src/components/Form/src/components/FormItem.vue @@ -261,13 +261,14 @@ ) : ( label ); - if (!helpMessage || (Array.isArray(helpMessage) && helpMessage.length === 0)) { + const getHelpMessage = isFunction(helpMessage) ? helpMessage(unref(getValues)) : helpMessage; + if (!getHelpMessage || (Array.isArray(getHelpMessage) && getHelpMessage.length === 0)) { return renderLabel; } return ( {renderLabel} - + ); } diff --git a/src/components/Form/src/types/form.ts b/src/components/Form/src/types/form.ts index 6ea672c2624d2f34ab9d67f780c9a364740bf8ec..86c558467b02fbd5f1f3bd4d19c10331eb99f768 100644 --- a/src/components/Form/src/types/form.ts +++ b/src/components/Form/src/types/form.ts @@ -125,7 +125,7 @@ export interface FormSchema { // Auxiliary text subLabel?: string; // Help text on the right side of the text - helpMessage?: string | string[]; + helpMessage?: string | string[] | ((renderCallbackParams: RenderCallbackParams) => string | string[]); // BaseHelp component props helpComponentProps?: Partial; // Label width, if it is passed, the labelCol and WrapperCol configured by itemProps will be invalid