【发布时间】:2021-12-10 06:16:42
【问题描述】:
我想知道如何制作一个按钮,每次用户单击它时都会生成一个新的<input>,并且我希望将其值添加到数组中。
我使用了我找到的这段代码,但它只完成了第一部分!
import React from "react";
import { Button, FormInput } from "shards-react";
class Parameter extends React.Component {
id = 1;
state = {
list: []
}
item(id) {
return (
// <div >
// <i className="material-icons" onClick={e => this.remove(`${id}`)} >delete</i>
// </div>);
<FormInput className="mb-1" key={id} id={`param-${id}`} placeholder="Competetion parameters"/>
);
}
remove(id) {
const newList = this.state.list.filter(item =>item.key !== id);
this.setState({
list: newList
})
}
addParam = () => {
const list = this.state.list;
list.push( this.item(this.id) )
this.setState({ list });
this.id++;
}
render() {
return (
<div>
<Button onClick={e => this.addParam()} theme="primary">Add parameter</Button>
{
this.state.list.map(item => item)
}
</div>);
}
}
export default Parameter;
我想知道如何将一组输入值放入数组 React 对我来说真的很新,如果有人可以帮助我,我会非常高兴!
【问题讨论】:
-
嗨!事实上,你的问题真的不清楚。请首先格式化您的问题(修复代码样式,例如缩进级别)并删除不必要的位..也可以添加整个组件或仅添加相关部分。之后,请再次阅读您的问题,并亲自查看您的要求是否清楚,是否可以澄清一下:)
-
您的示例代码中甚至存在一些语法问题(参见 setLoading)
-
@JoelPeltonen 我说得更清楚了,现在可以了吗?
标签: javascript arrays reactjs axios