my attempt fiddle here ..........
https://jsfiddle.net/techboy0007/j1eas924/
https://i.stack.imgur.com/KXFot.png
您可以通过反应状态来实现。在您的情况下,您正在使用嵌套对象,因此在更新它们时需要格外小心。
突变您的想法不是一个好主意,state
因为它很容易导致错误或意外行为。
仔细查看这些handling
功能的工作方式。
在这里,您有一个现场演示。
class App extends React.Component {
state = {
rows: []
};
handleChange = idx => e => {
const { name, value } = e.target;
const rows = [...this.state.rows];
rows[idx] = {
[name]: value
};
this.setState({
rows
});
};
handleAddRow = () => {
const item = {
name: "",
mobile: ""
};
this.setState({
rows: [...this.state.rows, item]
});
};
handleRemoveRow = () => {
this.setState({
rows: this.state.rows.slice(0, -1)
});
};
render() {
return (
<div>
<div className="container">
<div className="row clearfix">
<div className="col-md-12 column">
<table
className="table table-bordered table-hover"
id="tab_logic"
>
<thead>
<tr>
<th className="text-center"> # </th>
<th className="text-center"> Name </th>
<th className="text-center"> Mobile </th>
</tr>
</thead>
<tbody>
{this.state.rows.map((item, idx) => (
<tr id="addr0" key={idx}>
<td>{idx}</td>
<td>
<input
type="text"
name="name"
value={this.state.rows[idx].name}
onChange={this.handleChange(idx)}
className="form-control"
/>
</td>
<td>
<input
type="text"
name="mobile"
value={this.state.rows[idx].mobile}
onChange={this.handleChange(idx)}
className="form-control"
/>
</td>
</tr>
))}
</tbody>
</table>
<button
onClick={this.handleAddRow}
className="btn btn-default pull-left"
>
Add Row
</button>
<button
onClick={this.handleRemoveRow}
className="pull-right btn btn-default"
>
Delete Row
</button>
</div>
</div>
</div>
</div>
);
}
}
render(<App />, document.getElementById("root"));
PD:如果我能给您推荐,我想您需要更多地研究 反应-javascript 向前迈进,因为它将有助于更快地实现此类目标,现在您需要非常了解基础知识。
问题内容: 我正在尝试添加/删除表行。 这是我的代码: HTML表格 JavaScript 现在,如您所见,在我的表格中,我有文本字段和按钮。我想要的是: 仅重复行的结构。我现在无法执行此操作,因为innerHTM仅接收文本。如何插入文本框或标签? 文本字段的ID也应该不同,因为稍后我将检索这些值以将其放入数据库中。 我想放置一个函数以增加POI的数量 有人可以帮我吗? 问题答案: 您可以仅克隆具
本文向大家介绍JQuery动态添加和删除表格行的方法,包括了JQuery动态添加和删除表格行的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JQuery动态添加和删除表格行的方法。分享给大家供大家参考。具体分析如下: 昨天做页面表格行动态添加和删除,看了无数的介绍,发现了一个好东东,JQuery。用它实现起来还真的是很方便,这个是我用到我们平台的一个方法。 后台使用的也是比较容易的,
问题内容: 当前的官方文档仅显示如何动态 更改 标签 内 的组件。 我想实现的是,让我们说我有3个部分组成:,,并具有以下选择: 再有6个按钮,这将增加或删除每个组件:,,和 当我单击时,该页面将添加到呈现它的页面中,因此该页面将包含: 然后,如果我单击两次,该页面现在将包含: 如果单击,该页面现在将包含所有这些组件: 可以在Angular中实现吗?请注意,这不是我要寻找的解决方案,因为它仅允许向
我试图熟悉EIP和Apache骆驼,我有一个用例,我不太确定如何使用骆驼来表达或实现 用例: 假设您设计了一个集成解决方案,它从ftp中获取文件,进行一些处理并将其上传到队列。您选择Apache Camel来实现此解决方案,并且您在JavaDSL中的路由如下所示: 路线可能比这复杂得多,但在这里没关系。想象一下你的解决方案是如此的成功,以至于有一个计划来实现一个服务,任何人都可以添加他的ftp服务
问题内容: 由于IE9和Safari-5不支持,因此有什么替代的跨浏览器解决方案? 解决方案 必须 至少在 IE 9 , Safari 5 ,FireFox 4,Opera 11.5和Chrome中运行。 问题答案: 处理没有框架/库的类的一种方法是使用Element.className属性,该属性“ _获取并设置指定元素的class属性的值。 正如在他的回答中已经提到的那样,一旦获得了元素的类字
本文向大家介绍原生JS和JQuery动态添加、删除表格行的方法,包括了原生JS和JQuery动态添加、删除表格行的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了原生JS和JQuery动态添加、删除表格行的方法。分享给大家供大家参考。具体分析如下: 下面HTML代码作用:提交一个表单,将复选框的值提交(复选框的值等于后面的文本框,复选框和文本框处在同一行,可以动态添加和删除)。 原生态