這是我的模型的架構:
const workoutSchema = mongoose.Schema({
workouts: [
{
workoutName: String,
sets: Number,
reps: Number,
weight: Number,
},
],
});
這是在下面的文本欄位中參考的 postData。
const [postData, setPostData] = useState({
workouts: [{ workoutName: "", sets: "", reps: "", weight: "" }],
});
要訪問上面的鍛煉名稱,下面我已將值設定為postData.workouts["workoutName"]似乎有效但不確定。我在onChange屬性上遇到了問題,特別是setPostData 中 的第二個引數[workoutName]: e.target.value。我無法workoutName從模式訪問鍛煉字典中的鍵。
<TextField
label="Workout"
variant="outlined"
value={postData.workouts["workoutName"]}
onChange={(e) =>
setPostData({ ...postData, workoutName: e.target.value })
}
我試過了,workouts["workoutName"]: e.target.value但在括號之前出現語法錯誤,說它期待一個,. 錯誤影像。我也嘗試過workouts.workoutName : e.target.value像其他語言一樣但沒有奏效。如何訪問鍛煉物件中的鍛煉名稱以將其重新分配給在文本欄位中鍵入的值(即:)e.target.value。
uj5u.com熱心網友回復:
postData 是一個物件
鍛煉是這個物件的一個??屬性
鍛煉名稱是陣列中的一個屬性,它是鍛煉的屬性
因此,為了更改鍛煉名稱,您需要執行以下操作:
{...postData, workouts: [{...postData.workouts[0], workoutName: e.target.value}]}
要閱讀鍛煉名稱,您需要執行以下操作:
postData.workouts[0].name
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/392587.html
標籤:javascript MongoDB 字典 材质-ui 文本域
下一篇:電影分級觸發器
