【发布时间】:2025-11-29 12:30:01
【问题描述】:
我想在使用ant design按下按钮后动态添加2个文本框,如图所示,还删除带有(减号)按钮的文本框,将这些数据存储在数组initialState中,我该如何实现?
https://codesandbox.io/s/blissful-leakey-qzp8o
import ReactDOM from "react-dom";
import "antd/dist/antd.css";
import { Form, Input, Button } from "antd";
function DualInput({form}) {
const {getFieldDecorator} = form
const initialState = []
const handleSubmit = (e) => {
form.validateFieldsAndScroll((err , field) => {
initialState.push(field)
console.log(initialState)
}
)}
const handleAdd = () => {
}
const handleMinus = () => {
}
return <div>
<Form layout="inline" >
<Form.Item label="Quantity">
{getFieldDecorator("quantity", {
rules: []
})(<Input placeholder="Quantity" size="large" />)}
</Form.Item>
<Form.Item label="Price">
{getFieldDecorator("price", {
rules: []
})(<Input placeholder="Price" size="large" />)}
</Form.Item>
<Form.Item>
<Button type="secondary" shape="circle" icon="plus" size="large" onClick={handleAdd}/>
</Form.Item>
<Form.Item>
<Button type="secondary" shape="circle" icon="minus" size="large" onClick={handleMinus}/>
</Form.Item>
<Form.Item>
<Button type="secondary" size="large" onClick={handleSubmit}>Submit</Button>
</Form.Item>
</Form>
</div>;
}
const DualInput2 = Form.create()(DualInput);
ReactDOM.render(<DualInput2 />, document.getElementById("container"));
我想得到的数组(样本):
const initialState = [{Quantity: "100", price: "100"}, {Quantity: "200", price: "200"}]
【问题讨论】:
标签: react-hooks antd