在ReactJS中创建具有唯一名称属性的重复输入元素可以通过使用数组和map函数来实现。以下是一个示例代码:
import React, { useState } from 'react';
const DuplicateInput = () => {
const [inputs, setInputs] = useState([{ id: 1, name: '' }]);
const handleInputChange = (index, event) => {
const values = [...inputs];
values[index].name = event.target.value;
setInputs(values);
};
const handleAddInput = () => {
const newInput = { id: inputs.length + 1, name: '' };
setInputs([...inputs, newInput]);
};
const handleRemoveInput = (index) => {
const values = [...inputs];
values.splice(index, 1);
setInputs(values);
};
return (
<div>
{inputs.map((input, index) => (
<div key={input.id}>
<input
type="text"
value={input.name}
onChange={(event) => handleInputChange(index, event)}
/>
<button onClick={() => handleRemoveInput(index)}>Remove</button>
</div>
))}
<button onClick={handleAddInput}>Add Input</button>
</div>
);
};
export default DuplicateInput;
在上面的代码中,我们使用了React的useState钩子来管理输入元素的状态。初始状态包含一个具有唯一id和空名称的输入元素。通过map函数,我们遍历输入元素数组并为每个元素渲染一个输入框和删除按钮。当输入框的值发生变化时,我们更新对应输入元素的名称。点击"Add Input"按钮会添加一个新的输入元素,点击删除按钮会移除对应的输入元素。
这种方法可以让用户动态地添加或删除具有唯一名称属性的重复输入元素。它适用于需要收集多个具有唯一名称的数据的场景,例如表单中的多个联系人信息、多个选项的配置等。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体的产品选择应根据实际需求和情况进行评估。
领取专属 10元无门槛券
手把手带您无忧上云