javascript - 将项目相互连接
问题描述
我得到了一长串“连接的项目”(这是连接到当前项目的其他项目)。现在我想编辑并添加到这个数组中。
我可能过于复杂了,但你明白为什么我不能用setItemToAddId(e.currentTarget.value)
或直接设置currentItem 的 id (要添加)// setItemToAddId(option.identifiers.id)
吗?
{connectedItems.map((connectedItem, index) => (
<div key={index} className="field">
<select>
{optionsItemToAdd.map((option) => (
<option
value={option.identifiers.id}
key={option.identifiers.id}
onChange={(e) => {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
setItemToAddId(e.currentTarget.value)
// setItemToAddId(option.identifiers.id)
// onChangeConnectedItem(index, {
// itemId: itemToAddId,
// purpose: purpose,
// linkInternal: `/items/${itemToAdd!.identifiers.id}`,
// });
}}
>
{option.identifiers.title}
</option>
))}
</select>
解决方案
更改时应使用选择元素,而不是选项,
<select
onChange={(e) => {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
setItemToAddId(e.currentTarget.value);
// setItemToAddId(option.identifiers.id)
// onChangeConnectedItem(index, {
// itemId: itemToAddId,
// purpose: purpose,
// linkInternal: `/items/${itemToAdd!.identifiers.id}`,
// });
}}
>
{optionsItemToAdd.map((option) => (
<option value={option.identifiers.id} key={option.identifiers.id}>
{option.identifiers.title}
</option>
))}
</select>
推荐阅读
- flutter - 如何在 Flutter 中创建和使用 SnackBar 进行重用(全局)
- java - 是否有一种巧妙的方法可以使 JavaFX TreeView 与底层 DOM 和 JPA 模型保持同步?
- x86 - CPU如何预测二进制文件的二进制信息序列中的指令和数据限制?
- php - 针对保存在数据库中的关键字的 MySQL 全文搜索用户输入
- ios - iOS 的 Flutter 构建失败
- excel - 表中的条件行减法
- c# - DbContext.Set 和其他地方的实体框架 ASP.NET MVC(有时)问题
- angular - 角; 管道、地图和 catchError 的这种使用有用吗?
- javascript - 在 setInterval() 中设置一个变量,react
- outlook - 我可以将哪个 OlSaveAsType 添加到 MailItem SaveAs 方法中?