reactjs - 使用键值对填充反应组件中的选项
问题描述
我正在尝试通过提供键值对来动态填充作者姓名的选项,并希望得到如图所示的结果,但结果并不像,而是为每个作者显示四种不同的形式。请参阅图片以清楚地了解我的问题。
import { gql ,useQuery} from '@apollo/client';
const getAuthorsQuery = gql`
{
authors{
name
id
}
}
`;
function AddBook() {
const { loading, error, data } = useQuery(getAuthorsQuery);
if (loading) return <p>Loading...</p>;
if (error) return <p>Error :(</p>;
console.log(data)
return data.authors.map(author => {
return (
<form id="add-book">
<div className="field">
<label>Book name:</label>
<input type="text" />
</div>
<div className="field">
<label>Genre:</label>
<input type="text" />
</div>
<div className="field">
<label >Author:</label>
<select >
<option key={author.id} value ={author.id}>Select Authors</option>
{author.name}
</select>
</div>
<button>+</button>
</form>
)
})
解决方案
而不是仅在选项中使用整个表单的地图。
{data.authors.map(author => <option key={author.id} value ={author.id}>Select Authors</option>)}
推荐阅读
- c# - System.Net.WebUtility.UrlEncode 和 System.Web.HttpUtility.UrlEncode 方法的区别
- angular - Angular将服务注入基类但不在子类中,并在子类中使用父服务
- c# - 在 Xamarin Forms Shell 中隐藏 TabBar
- tensorflow - 使用 MobileNet 和 Faster RCNN 检测小物体
- c# - 如何在asp.net core razor pages 2.2中设置日期格式和文化
- node.js - nods js mvc 框架与 react js 和 mongodb 一起使用
- python - put() 缺少 1 个必需的位置参数:'pk'
- php - 你能检查我的代码吗?我想使用 for 循环在列表中显示数据库中的数据
- sql - 乘以其他表中最新的先前值
- arrays - Presto - 我如何比较两个数组以获得最大匹配值计数