diff --git a/packages/core/client/src/block-provider/hooks/index.ts b/packages/core/client/src/block-provider/hooks/index.ts index e5b5f370c8..2de2652ac6 100644 --- a/packages/core/client/src/block-provider/hooks/index.ts +++ b/packages/core/client/src/block-provider/hooks/index.ts @@ -251,6 +251,13 @@ export const useCreateActionProps = () => { if (!onSuccess?.successMessage) { message.success(t('Saved successfully')); await resetFormCorrectly(form); + if (onSuccess?.redirecting && onSuccess?.redirectTo) { + if (isURL(onSuccess.redirectTo)) { + window.location.href = onSuccess.redirectTo; + } else { + navigate(onSuccess.redirectTo); + } + } return; } if (onSuccess?.manualClose) { diff --git a/packages/core/client/src/schema-component/antd/action/Action.Designer.tsx b/packages/core/client/src/schema-component/antd/action/Action.Designer.tsx index 441cd653e6..c7432d2002 100644 --- a/packages/core/client/src/schema-component/antd/action/Action.Designer.tsx +++ b/packages/core/client/src/schema-component/antd/action/Action.Designer.tsx @@ -8,7 +8,7 @@ */ import { ArrayTable } from '@formily/antd-v5'; -import { Field, onFieldValueChange } from '@formily/core'; +import { onFieldValueChange } from '@formily/core'; import { ISchema, useField, useFieldSchema, useForm, useFormEffects } from '@formily/react'; import { isValid, uid } from '@formily/shared'; import { Alert, Flex, ModalProps, Tag } from 'antd'; @@ -258,7 +258,13 @@ export function AfterSuccess() { return (