antd怎么获取勾选的对象传输到后台
时间: 2024-03-12 10:45:06 浏览: 111
要获取勾选的对象并传输到后台,可以借助 Checkbox 组件的 onChange 事件和 Form 组件的 onSubmit 事件来实现。
1. 在页面中使用 Checkbox 组件,设置 checkboxOptions 和 checkedList 状态:
```
import React, { useState } from 'react';
import { Checkbox, Form, Button } from 'antd';
const plainOptions = ['Apple', 'Pear', 'Orange'];
const defaultCheckedList = ['Apple', 'Orange'];
function CheckboxGroup() {
const [checkedList, setCheckedList] = useState(defaultCheckedList);
const onChange = (checkedValues) => {
setCheckedList(checkedValues);
};
return (
<Checkbox.Group options={plainOptions} value={checkedList} onChange={onChange} />
);
}
export default CheckboxGroup;
```
2. 在 Form 组件中使用 CheckboxGroup 组件,设置 onSubmit 事件:
```
import React from 'react';
import { Form, Button } from 'antd';
import CheckboxGroup from './CheckboxGroup';
const CheckboxForm = () => {
const onFinish = (values) => {
console.log('Received values of form: ', values);
};
return (
<Form onFinish={onFinish}>
<Form.Item name="checkbox">
<CheckboxGroup />
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
Submit
</Button>
</Form.Item>
</Form>
);
};
export default CheckboxForm;
```
3. 在 onSubmit 事件中获取勾选的对象,并通过网络请求传输到后台:
```
import React from 'react';
import { Form, Button } from 'antd';
import CheckboxGroup from './CheckboxGroup';
const CheckboxForm = () => {
const onFinish = (values) => {
console.log('Received values of form: ', values);
const checkedValues = values.checkbox;
fetch('/api/submit', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(checkedValues),
})
.then((response) => response.json())
.then((data) => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
};
return (
<Form onFinish={onFinish}>
<Form.Item name="checkbox">
<CheckboxGroup />
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
Submit
</Button>
</Form.Item>
</Form>
);
};
export default CheckboxForm;
```
在这个示例中,我们设置了一个 onSubmit 事件,在该事件中获取勾选的对象,并通过网络请求传输到后台。在这个过程中,我们使用了 fetch 函数来发送网络请求,并在网络请求成功或失败时打印日志。
希望这个回答能够帮到你!
阅读全文