wwf
3 天以前 a430284aa21e3ae1f0d5654e55b2ad2852519cc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { useStore } from '@tanstack/react-form'
import { useFormContext } from '../..'
import Button, { type ButtonProps } from '../../../button'
 
type SubmitButtonProps = Omit<ButtonProps, 'disabled' | 'loading' | 'onClick'>
 
const SubmitButton = ({ ...buttonProps }: SubmitButtonProps) => {
  const form = useFormContext()
 
  const [isSubmitting, canSubmit] = useStore(form.store, state => [
    state.isSubmitting,
    state.canSubmit,
  ])
 
  return (
    <Button
      disabled={isSubmitting || !canSubmit}
      loading={isSubmitting}
      onClick={() => form.handleSubmit()}
      {...buttonProps}
    />
  )
}
 
export default SubmitButton