reactjs - 如何从 Formik 输入值向表中添加新行?
问题描述
在这里,我使用通量模式和 Formik 和 yup 来处理表单。如何实现onSubmit
添加数据?
import React from 'react'
import { useFormik } from 'formik'
import * as Yup from 'yup'
const CommentForm = () => {
const formik = useFormik({
initialValues: {
productname: '',
quantity: '',
price: '',
},
validationSchema: Yup.object({
productname: Yup.string()
.max(8, 'Must be 8 characters or less')
.required('Product Name is Required'),
quantity: Yup.string()
.min(1, 'Must be 1 character at a minimum')
.required('Quantity is Required'),
price: Yup.string()
.min(4, 'Must be enter 4 characters')
.required('Price is required'),
}),
/*onSubmit: values =>{
alert(JSON.stringify(values, null,2));
},*/
})
return (
<div>
<h1>ADD PRODUCT</h1>
<form onSubmit={formik.handleSubmit}>
<div>
<input
type="text"
name="productname"
placeholder="Enter Product Name"
onChange={formik.handleChange}
value={formik.values.productname}
/>
{formik.touched.productname && formik.errors.productname && (
<span style={{ color: 'red' }}>{formik.errors.productname}</span>
)}
</div>
<br />
<br />
<div>
<input
type="text"
name="quantity"
placeholder=" Enter Quantity"
onChange={formik.handleChange}
value={formik.values.quantity}
/>
{formik.touched.quantity && formik.errors.quantity && (
<span style={{ color: 'red' }}>{formik.errors.quantity}</span>
)}
</div>
<br />
<br />
<div>
<input
type="text"
name="price"
placeholder="Enter Price"
onChange={formik.handleChange}
value={formik.values.price}
/>
{formik.touched.price && formik.errors.price && (
<span style={{ color: 'red' }}>{formik.errors.price}</span>
)}
</div>
<br />
<button type="submit">Submit</button>
</form>
</div>
)
}
export default CommentForm
解决方案
推荐阅读
- java - 如何识别哈希图中的重复值
- amazon-web-services - 在 ec2 上配置 cassandra 以接受来自主 OC 的远程连接
- typescript - Ts-node : SyntaxError: 不能在模块外使用 import 语句
- python - win32com 无法再打开 Excel
- mysql - 我应该将 BLOB 长度存储在我的 MySQL/MariaDB 表中吗?
- wordpress - 更新失败。使用 WordPress 版本传递的 JSON 正文无效:5.5.1
- amazon-web-services - Cloud Formation 没有引用现有的 AWS S3 存储桶,而是尝试创建存储桶
- string - 如何使用AWK中另一个变量的长度来分配重复字符的变量?
- python - 过滤行后获取空数据框
- excel - 在文本过滤器中循环