在ReactJS中,可以通过单击按钮来添加和删除输入组件。这可以通过以下步骤实现:
import React, { useState } from 'react';
const InputComponent = ({ onRemove }) => {
const [inputValue, setInputValue] = useState('');
const handleInputChange = (e) => {
setInputValue(e.target.value);
};
return (
<div>
<input type="text" value={inputValue} onChange={handleInputChange} />
<button onClick={onRemove}>删除</button>
</div>
);
};
export default InputComponent;
import React, { useState } from 'react';
import InputComponent from './InputComponent';
const ParentComponent = () => {
const [inputComponents, setInputComponents] = useState([]);
const handleAddInputComponent = () => {
setInputComponents([...inputComponents, <InputComponent key={inputComponents.length} onRemove={() => handleRemoveInputComponent(inputComponents.length)} />]);
};
const handleRemoveInputComponent = (index) => {
setInputComponents(inputComponents.filter((_, i) => i !== index));
};
return (
<div>
{inputComponents}
<button onClick={handleAddInputComponent}>添加输入组件</button>
</div>
);
};
export default ParentComponent;
在上述代码中,父组件维护了一个inputComponents
状态,用于存储所有的输入组件。通过handleAddInputComponent
函数,可以在点击按钮时添加一个新的输入组件到列表中。每个输入组件都有一个对应的删除按钮,通过handleRemoveInputComponent
函数可以删除指定的输入组件。
这种方法可以实现动态添加和删除输入组件的功能,适用于需要根据用户需求动态生成表单或输入项的场景。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云