您好,登錄后才能下訂單哦!
在React中使用動態(tài)表單元素和數(shù)組可以通過以下步驟實現(xiàn):
import React, { useState } from 'react';
const DynamicForm = () => {
const [values, setValues] = useState([]);
const handleChange = (index, event) => {
const newValues = [...values];
newValues[index] = event.target.value;
setValues(newValues);
};
const handleAddField = () => {
setValues([...values, '']);
};
const handleRemoveField = index => {
const newValues = [...values];
newValues.splice(index, 1);
setValues(newValues);
};
return (
<div>
{values.map((value, index) => (
<div key={index}>
<input
type="text"
value={value}
onChange={e => handleChange(index, e)}
/>
<button onClick={() => handleRemoveField(index)}>Remove</button>
</div>
))}
<button onClick={handleAddField}>Add</button>
</div>
);
};
export default DynamicForm;
在渲染組件時,使用map函數(shù)遍歷存儲在state中的數(shù)組,為每個表單元素添加事件處理函數(shù)和刪除按鈕。
在事件處理函數(shù)中,根據(jù)需要更新數(shù)組中的值,并使用setValues函數(shù)更新state,從而實現(xiàn)動態(tài)添加和刪除表單元素的功能。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。