--- order: 4 title: zh-CN: 全选 en-US: Check all --- ## zh-CN 在实现全选效果时,你可能会用到 `indeterminate` 属性。 ## en-US The `indeterminate` property can help you to achieve a 'check all' effect. ```tsx import { Checkbox, Divider } from 'antd'; import type { CheckboxChangeEvent } from 'antd/es/checkbox'; import type { CheckboxValueType } from 'antd/es/checkbox/Group'; import React, { useState } from 'react'; const CheckboxGroup = Checkbox.Group; const plainOptions = ['Apple', 'Pear', 'Orange']; const defaultCheckedList = ['Apple', 'Orange']; const App: React.FC = () => { const [checkedList, setCheckedList] = useState(defaultCheckedList); const [indeterminate, setIndeterminate] = useState(true); const [checkAll, setCheckAll] = useState(false); const onChange = (list: CheckboxValueType[]) => { setCheckedList(list); setIndeterminate(!!list.length && list.length < plainOptions.length); setCheckAll(list.length === plainOptions.length); }; const onCheckAllChange = (e: CheckboxChangeEvent) => { setCheckedList(e.target.checked ? plainOptions : []); setIndeterminate(false); setCheckAll(e.target.checked); }; return ( <> Check all ); }; export default App; ```