在React中使用动态表单元素和数组可以通过以下步骤实现:
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函数遍历存储在state中的数组,为每个表单元素添加事件处理函数和删除按钮。
在事件处理函数中,根据需要更新数组中的值,并使用setValues函数更新state,从而实现动态添加和删除表单元素的功能。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。