const [formData, setFormData] = useState({});
useEffect(() => {
fetch("/formdata")
.then((res) => res.json())
.then((data) => setFormData(data));
}, []);
console.log("Form Data", formData);
//Sorting by order
let attr;
form.forms.map((y) => {
return (attr = y.formAttributes.sort((a, b) => {
return a.order < b.order ? -1 : 1;
}));
});
return (
{attr.map((attri, index) => {
return (
<TextField
key={index}
label={attri.label}
value={formData[attri.datakey] || ""}
onChange={event => {const {value} = event.target; setFormData({formData: value})}}
/>
);
})}
)
我想請教如何管理Textfield onChange區域中的多個欄位?目前,如果我要輸入一個值,則不會發生任何變化。
這是我的代碼。
嘗試了使用 e.target.value 的方法,但它仍然保持不變。

uj5u.com熱心網友回復:
您應該添加一個名稱屬性,其中“名稱”是物件中鍵值對的鍵。
例如
<TextField
key={index}
name="somename"
label={attri.label}
value={formData[attri.datakey] || ""}
onChange={handleChange}
/>
然后你可以像這樣更新欄位。
setFormData({
...formData,
[e.target.name]: e.target.value // becomes "somename: some value"
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/489421.html
標籤:javascript 反应 反应钩子 材料-ui
上一篇:Javascript無法獲取我的值并在html中計算
下一篇:在頁面之間傳遞資料反應
