嗨,我已经创建了图书管理系统的组件,如Displaybooks,Addbooks,这是工作正常,我创建了以下组件编辑现有图书:
import React, { useContext, useState, useEffect } from "react";
import { useForm } from "react-hook-form";
import { useParams } from "react-router";
import { Bookcontext } from "../bookcontext";
import { useNavigate } from "react-router-dom";
const Editbook = () => {
const {
register,
handleSubmit,
setValue,
formState: { errors },
} = useForm();
const { ISBN } = useParams();
const books = useContext(Bookcontext);
const navigate = useNavigate();
const [book, setBook] = useState({});
useEffect(() => {
const book1 = books.find((b) => b.ISBN == ISBN);
setBook(book1);
}, []);
const onSubmit = (data) => {
console.log(data);
const index = books.indexOf(books.find((b) => b.ISBN === ISBN));
books.splice(index, 1, data);
navigate("/display");
};
return (
<div>
<form onSubmit={handleSubmit(onSubmit)}>
<input
type="number"
{...register(
"ISBN",
/*('ISBN', { ISBN: book.ISBN}),*/ { required: true }
)}
/>
<input type="text" {...register("title", { required: true })} />
<input type="text" {...register("author", { required: true })} />
<input type="submit" />
</form>
</div>
);
};
export default Editbook;
这也是工作,书籍得到编辑,但我想在输入标签中设置当前书籍的值与('ISBN', { ISBN: book.ISBN}),
,但这是不工作的,所以我现在评论它。
您能否解释一下如何对所有3个输入执行此操作?
我希望在我可以编辑和提交的文本区域中显示当前账面价值:
1条答案
按热度按时间xdnvmnnf1#
您可以像这样将该值设置为默认值。