翻翻過去那場雪
2023-09-07 16:47:52
在普通頁面和模態(tài)上有一些表單字段,我希望模態(tài)按鈕觸發(fā)提交事件。每當(dāng)我在模態(tài)按鈕上使用提交類型=“提交”時,我都沒有得到任何響應(yīng)。但如果我在普通頁面按鈕中使用它,它就可以工作。請問這是怎么回事,我不能在模態(tài)中使用它嗎? <Formik initialValues={{ productName: "", productNumber: "", quantity: 1, unitCost: 0, totalCost: 0, customerName: "", customerNumber: "", amount: "", }} onSubmit={(data, { setSubmitting }) => { setSubmitting(true); setTimeout(() => { console.log(data); alert(JSON.stringify(data, null, 2)); setSubmitting(false); }, 2000); }} > {({ values, handleBlur, handleChange, setFieldValue, isSubmitting, }) => ( <Form> <Box> <Grid templateColumns="repeat(2, 1fr)" gap={5}> <Box> <FormLabel>Product Name:</FormLabel> <Field as={Input} name="productName" type="text" placeholder="Product Name:" /> </Box> <Box> <FormLabel>Product Number:</FormLabel> <Field as={Input} name="productNumber" type="number" placeholder="Product Number:" /> </Box> <Box> <FormLabel>Quantity:</FormLabel> <Field as={Input} name="quantity" type="number" value={values.quantity} onChange={handleChange} onBlur={handleBlur} placeholder="Quantity:" /> </Box> <Box> <FormLabel>Unit Cost:(in Naira)</FormLabel> <Field as={Input} name="unitCost" type="number" value={values.unitCost} onChange={handleChange} onBlur={handleBlur} placeholder="Unit Cost:" /> </Box>
1 回答

開心每一天1111
TA貢獻1836條經(jīng)驗 獲得超13個贊
我不太明白你到底想要什么,但如果你想觸發(fā)提交,你可以使用普通按鈕。
首先,將submitForm或handleSubmit作為道具與其他的一起傳遞
{({
submitForm or handleSubmit,
values,
handleBlur,
handleChange,
setFieldValue,
isSubmitting,
}) => (
然后在按鈕上刪除提交類型并添加單擊事件處理程序
<Button colorScheme="green" onClick={submitForm // or handleSubmit}>
Pay Now
</Button>
抱歉,我不知道 100% 哪個會起作用,我已經(jīng)有一段時間沒有使用 React 和 formik 了。
但請記住,當(dāng)某些事情沒有按照您想要的方式進行時,請嘗試其他方法來完成它。通常使用事件處理程序手動觸發(fā)提交
添加回答
舉報
0/150
提交
取消