gpt4 book ai didi

javascript - 如何在单击时克隆和附加字段

转载 作者:行者123 更新时间:2023-11-30 11:06:10 26 4
gpt4 key购买 nike

我是新手,我想在这里做的是我有 1 个 div,例如:

<div> <input /> <plusIcon></div>

每当有人点击 plusIcon 时,它应该在之后再添加一个 div,例如:

<div> <input /> <plusIcon></div>
<div> <input /> <plusIcon></div>

在 jQuery 中,我们可以简单地使用 clone() 函数并追加,但我不知道如何在 React 中执行此操作。

请让我知道如果有人知道任何方法可以做到这一点。

最佳答案

解决此问题的一种方法是在您的组件状态中保留一个变量,其中包含当前的行数,每次单击 plusIcon 都会增加该数字。然后你可以使用 Array.from在 render 方法中创建那么多元素。

示例

class App extends React.Component {
state = {
rows: 1
};

addRow = () => {
this.setState(({ rows }) => ({ rows: rows + 1 }));
};

render() {
return (
<div>
{Array.from({ length: this.state.rows }, (_, index) => (
<div key={index}>
<input />
<button onClick={this.addRow}>+</button>
</div>
))}
</div>
);
}
}

ReactDOM.render(<App />, document.getElementById("root"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

<div id="root"></div>

关于javascript - 如何在单击时克隆和附加字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55513175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com