使用一个 state 来记录已选中的 checkbox 数量,然后在 onChange 事件中判断已选中的数量是否超过五个,超过则禁用所有 checkbox。\n\n下面是一个示例代码:\n\njsx\nimport React, { useState } from 'react';\nimport { Checkbox } from 'antd';\n\nconst CheckboxGroup = Checkbox.Group;\n\nconst options = [\n { label: 'Option 1', value: '1' },\n { label: 'Option 2', value: '2' },\n { label: 'Option 3', value: '3' },\n { label: 'Option 4', value: '4' },\n { label: 'Option 5', value: '5' },\n { label: 'Option 6', value: '6' },\n { label: 'Option 7', value: '7' },\n { label: 'Option 8', value: '8' },\n];\n\nconst App = () => {\n const [selectedOptions, setSelectedOptions] = useState([]);\n const [disableCheckboxes, setDisableCheckboxes] = useState(false);\n\n const handleChange = (checkedValues) => {\n setSelectedOptions(checkedValues);\n setDisableCheckboxes(checkedValues.length >= 5);\n }\n\n return (\n <CheckboxGroup\n options={options}\n value={selectedOptions}\n onChange={handleChange}\n disabled={disableCheckboxes}\n />\n );\n}\n\nexport default App;\n\n\n在上面的代码中,使用 useState 来创建两个 state:selectedOptions 用于记录已选中的 checkbox 的值,disableCheckboxes 用于控制是否禁用 checkbox 们。在 handleChange 函数中,首先更新 selectedOptions 的值,然后通过判断 selectedOptions 的长度来更新 disableCheckboxes 的值,如果已选中的数量超过五个,则禁用所有 checkbox。最后在 CheckboxGroup 组件中,使用 value 属性来设置已选中的 checkbox,onChange 属性来绑定 handleChange 函数,disabled 属性来控制是否禁用 checkbox 们。

Ant Design Checkbox 禁用: 限制选择数量 (最大 5 个)

原文地址: https://www.cveoy.top/t/topic/ql4v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录