[英]Adding an array of properties to an object
我有一組student
對象,其中包含一些基本信息,如姓名和地址。 我希望能夠向基於用戶輸入的對象添加tag
屬性
我正在用這樣的輸入完成這個
<input placeholder="new tag" onInput={(e) => setAddedTag(e.target.value)} />
<button type="submit" onClick={() => addTag()}>Add Tag</button>
我正在使用此代碼將tag
屬性添加到特定對象
const addTag = () => {
setStudentIndex(students.id - 1)
students[studentIndex].tag = [AddedTag]
// needs to add more than 1
}
然而,這似乎只適用於一個標簽,如果用戶添加第二個標簽,它將覆蓋第一個標簽。 (或者它會崩潰)我嘗試過使用傳播運算符
students[studentIndex].tag = [...AddedTag]
然而['a', 'b', 'c']
當用戶輸入abc
時,這反而將標簽設置為['a', 'b', 'c']
如何完成添加字符串數組作為道具?
你試過使用 push() 嗎? 就像是:
學生[學生索引].tag.push(AddedTag);
嘗試
const { tag = [] } = students[studentIndex]
students[studentIndex].tag = [...tag, AddedTag]
將標簽定義為對象內的數組。 像這樣的東西:
const students = [
{
name: "xyz",
address: "abc",
tag: []
}
]
然后在您的代碼中將以下行從: students[studentIndex].tag = [AddedTag]
更改為students[studentIndex].tag.push(AddedTag)
應該這樣做。
您可能可以通過使用帶有與學生 ID 對應的鍵的對象來實現您想要的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.