修复表单响应性问题 & 更新套餐管理接口字段

This commit is contained in:
2025-12-16 17:10:30 +08:00
parent 427502489e
commit 1f9b6bb044
11 changed files with 77 additions and 98 deletions

View File

@@ -17,20 +17,13 @@ import React, {ComponentProps, createContext, ReactNode, useContext, useId} from
type FormProps<T extends FieldValues> = {
form: UseFormReturn<T>
onSubmit?: SubmitHandler<T>
onError?: SubmitErrorHandler<T>
handler?: (e?: React.BaseSyntheticEvent) => Promise<void>
} & Omit<ComponentProps<'form'>, 'onSubmit' | 'onError'>
function Form<T extends FieldValues>(rawProps: FormProps<T>) {
const {children, onSubmit, onError, handler, ...props} = rawProps
const {children, handler, ...props} = rawProps
const form = props.form
const handle = handler || form.handleSubmit(
onSubmit || ((_) => {}),
onError,
)
return (
<FormProvider {...form}>
<form
@@ -38,7 +31,7 @@ function Form<T extends FieldValues>(rawProps: FormProps<T>) {
onSubmit={async (event) => {
event.preventDefault()
event.stopPropagation()
await handle(event)
await handler?.(event)
}}>
{children}
</form>