将数据从数据库写入使用 react-hook-form 处理的输入
Write data from database to inputs handled with react-hook-form
我有一个像这样的大表格,有多个像这样的输入(没有显示所有,因为没有必要)。我正在使用 React Hook 表单库处理数据。
const {register, reset} = useForm();
return (
<input
{...register("name")}
type="text"
value={product.name}
placeholder="Nombre Producto"
/>
<input
{...register("regular_price")}
type="number"
defaultValue={product.regular_price}
placeholder="precio regular"
/>
)
可以看到每个产品都有一个默认值,就是我设置的数据从数据库出来的状态。
当我单击一个时,我的表格中填满了我要编辑的产品的数据。问题是它只填充一次输入。在我进行重置()后,所有输入都变为空白,并且不再填充。
在没有 onChange 的情况下使输入“填充”我的数据库中的值的最佳方法是什么?
希望你能帮助我。提前致谢!
解决方案是在我单击产品时使用重置并将 api 中的值设置为我的表单值,如下所示:
useFormProps.reset({
available_colors: producto.available_colors,
available_sizes: producto.available_sizes,
categories: producto.categories,
description: producto.description,
featuredImage: producto.featuredImage,
freeShipping: producto.freeShipping,
images: producto.images,
is_published: producto.is_published,
name: producto.name,
price: producto.price,
regular_price: producto.regular_price,
sale_price: producto.sale_price,
short_description: producto.short_description,
sku: producto.sku,
status: producto.status,
stock_quantity: producto.stock_quantity,
})
我有一个像这样的大表格,有多个像这样的输入(没有显示所有,因为没有必要)。我正在使用 React Hook 表单库处理数据。
const {register, reset} = useForm();
return (
<input
{...register("name")}
type="text"
value={product.name}
placeholder="Nombre Producto"
/>
<input
{...register("regular_price")}
type="number"
defaultValue={product.regular_price}
placeholder="precio regular"
/>
)
可以看到每个产品都有一个默认值,就是我设置的数据从数据库出来的状态。
当我单击一个时,我的表格中填满了我要编辑的产品的数据。问题是它只填充一次输入。在我进行重置()后,所有输入都变为空白,并且不再填充。
在没有 onChange 的情况下使输入“填充”我的数据库中的值的最佳方法是什么?
希望你能帮助我。提前致谢!
解决方案是在我单击产品时使用重置并将 api 中的值设置为我的表单值,如下所示:
useFormProps.reset({
available_colors: producto.available_colors,
available_sizes: producto.available_sizes,
categories: producto.categories,
description: producto.description,
featuredImage: producto.featuredImage,
freeShipping: producto.freeShipping,
images: producto.images,
is_published: producto.is_published,
name: producto.name,
price: producto.price,
regular_price: producto.regular_price,
sale_price: producto.sale_price,
short_description: producto.short_description,
sku: producto.sku,
status: producto.status,
stock_quantity: producto.stock_quantity,
})