UNPKG

cjd-parkball

Version:

> 中后台业务组件库,中后台就像公园,进入需要买门票(登录),所以以 Parkball(公园球) 命名,公园内必定捕获!作为一个组件库,提供使用方法文档,方便开发者的调用

67 lines (54 loc) 1.47 kB
--- category: 2 title: 全选 title_en: Check all --- zh-CN 在实现全选效果时,你可能会用到 `indeterminate` 属性。 en-US The `indeterminate` property can help you to achieve a 'check all' effect. ````jsx import { Checkbox } from 'parkball'; const CheckboxGroup = Checkbox.Group; const plainOptions = ['Apple', 'Pear', 'Orange']; const defaultCheckedList = ['Apple', 'Orange']; class App extends React.Component { state = { checkedList: defaultCheckedList, indeterminate: true, checkAll: false, }; render() { return ( <div> <div style={{ borderBottom: '1px solid #E9E9E9' }}> <Checkbox indeterminate={this.state.indeterminate} onChange={this.onCheckAllChange} checked={this.state.checkAll} > Check all </Checkbox> </div> <br /> <CheckboxGroup options={plainOptions} value={this.state.checkedList} onChange={this.onChange} /> </div> ); } onChange = (checkedList) => { this.setState({ checkedList, indeterminate: !!checkedList.length && (checkedList.length < plainOptions.length), checkAll: checkedList.length === plainOptions.length, }); } onCheckAllChange = (e) => { this.setState({ checkedList: e.target.checked ? plainOptions : [], indeterminate: false, checkAll: e.target.checked, }); } } ReactDOM.render(<App />, mountNode); ````