在antd中,可以使用 Checkbox 组件来实现用户协议必须勾选的功能。
首先,需要在表单中添加一个 Checkbox 组件,并设置 rules 属性。rules 属性用于对表单项进行校验,可以通过自定义校验函数来实现用户协议必须勾选的功能。
import { Form, Checkbox } from 'antd';
<Form>
<Form.Item name="agreement" valuePropName="checked" rules={[{ validator: (_, value) => value ? Promise.resolve() : Promise.reject('请同意用户协议') }]}>
<Checkbox>我已阅读并同意<a href="#">用户协议</a></Checkbox>
</Form.Item>
</Form>
在上面的示例中,我们定义了一个名为 agreement 的表单项,并将其绑定到一个 Checkbox 组件上。valuePropName 属性用于设置 Checkbox 组件的值属性名称为 checked。rules 属性中设置了一个校验规则,其中 validator 函数的第二个参数就是 Checkbox 组件的值,如果值为 false,则返回一个包含错误信息的 Promise 对象。
这样的话,当用户没有勾选用户协议时,表单项就会被标记为校验失败,并显示错误信息。只有当用户勾选了用户协议并提交表单时,表单项才会通过校验,如果有误,欢迎指正哦