diff --git a/src/components/Form/src/components/FormItem.vue b/src/components/Form/src/components/FormItem.vue
index fa144280c00..44142713188 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 6ea672c2624..86c558467b0 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