Skip to content

Commit 6b33ec9

Browse files
authored
feat(antd): improve Submit API (#1640)
1 parent 580570b commit 6b33ec9

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

packages/antd/src/submit/index.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ import { ButtonProps } from 'antd/lib/button'
44
import { useForm, observer } from '@formily/react'
55

66
export interface ISubmitProps extends ButtonProps {
7+
onClick?: (e: React.MouseEvent<Element, MouseEvent>) => boolean | void
78
onSubmit?: (values: any) => Promise<any> | any
9+
onSubmitSuccess?: (payload: any) => void
810
onSubmitFailed?: (feedbacks: Formily.Core.Types.IFormFeedback[]) => void
911
}
1012

1113
export const Submit: React.FC<ISubmitProps> = observer(
12-
({ onSubmit, onSubmitFailed, ...props }: ISubmitProps) => {
14+
({ onSubmit, onSubmitFailed, onSubmitSuccess, ...props }: ISubmitProps) => {
1315
const form = useForm()
1416
return (
1517
<Button
@@ -19,10 +21,10 @@ export const Submit: React.FC<ISubmitProps> = observer(
1921
loading={props.loading !== undefined ? props.loading : form.submitting}
2022
onClick={(e) => {
2123
if (props.onClick) {
22-
props.onClick(e)
24+
if (props.onClick(e) === false) return
2325
}
2426
if (onSubmit) {
25-
form.submit(onSubmit).catch(onSubmitFailed)
27+
form.submit(onSubmit).then(onSubmitSuccess).catch(onSubmitFailed)
2628
}
2729
}}
2830
>

0 commit comments

Comments
 (0)