Checkbox
Checkbox component.
When To Use#
Used for selecting multiple values from several options.
If you use only one checkbox, it is the same as using Switch to toggle between two states. The difference is that Switch will trigger the state change directly, but Checkbox just marks the state as changed and this needs to be submitted.
Examples
import { Checkbox } from 'antd';
function onChange(e) {
console.log(`checked = ${e.target.checked}`);
}
ReactDOM.render(<Checkbox onChange={onChange}>Checkbox</Checkbox>, mountNode);
import { Checkbox, Button } from 'antd';
class App extends React.Component {
state = {
checked: true,
disabled: false,
};
toggleChecked = () => {
this.setState({ checked: !this.state.checked });
};
toggleDisable = () => {
this.setState({ disabled: !this.state.disabled });
};
onChange = e => {
console.log('checked = ', e.target.checked);
this.setState({
checked: e.target.checked,
});
};
render() {
const label = `${this.state.checked ? 'Checked' : 'Unchecked'}-${
this.state.disabled ? 'Disabled' : 'Enabled'
}`;
return (
<>
<p style={{ marginBottom: '20px' }}>
<Checkbox
checked={this.state.checked}
disabled={this.state.disabled}
onChange={this.onChange}
>
{label}
</Checkbox>
</p>
<p>
<Button type="primary" size="small" onClick={this.toggleChecked}>
{!this.state.checked ? 'Check' : 'Uncheck'}
</Button>
<Button
style={{ margin: '0 10px' }}
type="primary"
size="small"
onClick={this.toggleDisable}
>
{!this.state.disabled ? 'Disable' : 'Enable'}
</Button>
</p>
</>
);
}
}
ReactDOM.render(<App />, mountNode);
import { Checkbox, Divider } from 'antd';
const CheckboxGroup = Checkbox.Group;
const plainOptions = ['Apple', 'Pear', 'Orange'];
const defaultCheckedList = ['Apple', 'Orange'];
const App = () => {
const [checkedList, setCheckedList] = React.useState(defaultCheckedList);
const [indeterminate, setIndeterminate] = React.useState(true);
const [checkAll, setCheckAll] = React.useState(false);
const onChange = list => {
setCheckedList(list);
setIndeterminate(!!list.length && list.length < plainOptions.length);
setCheckAll(list.length === plainOptions.length);
};
const onCheckAllChange = e => {
setCheckedList(e.target.checked ? plainOptions : []);
setIndeterminate(false);
setCheckAll(e.target.checked);
};
return (
<>
<Checkbox indeterminate={indeterminate} onChange={onCheckAllChange} checked={checkAll}>
Check all
</Checkbox>
<Divider />
<CheckboxGroup options={plainOptions} value={checkedList} onChange={onChange} />
</>
);
};
ReactDOM.render(<App />, mountNode);
import { Checkbox } from 'antd';
ReactDOM.render(
<>
<Checkbox defaultChecked={false} disabled />
<br />
<Checkbox defaultChecked disabled />
</>,
mountNode,
);
import { Checkbox } from 'antd';
function onChange(checkedValues) {
console.log('checked = ', checkedValues);
}
const plainOptions = ['Apple', 'Pear', 'Orange'];
const options = [
{ label: 'Apple', value: 'Apple' },
{ label: 'Pear', value: 'Pear' },
{ label: 'Orange', value: 'Orange' },
];
const optionsWithDisabled = [
{ label: 'Apple', value: 'Apple' },
{ label: 'Pear', value: 'Pear' },
{ label: 'Orange', value: 'Orange', disabled: false },
];
ReactDOM.render(
<>
<Checkbox.Group options={plainOptions} defaultValue={['Apple']} onChange={onChange} />
<br />
<br />
<Checkbox.Group options={options} defaultValue={['Pear']} onChange={onChange} />
<br />
<br />
<Checkbox.Group
options={optionsWithDisabled}
disabled
defaultValue={['Apple']}
onChange={onChange}
/>
</>,
mountNode,
);
import { Checkbox, Row, Col } from 'antd';
function onChange(checkedValues) {
console.log('checked = ', checkedValues);
}
ReactDOM.render(
<Checkbox.Group style={{ width: '100%' }} onChange={onChange}>
<Row>
<Col span={8}>
<Checkbox value="A">A</Checkbox>
</Col>
<Col span={8}>
<Checkbox value="B">B</Checkbox>
</Col>
<Col span={8}>
<Checkbox value="C">C</Checkbox>
</Col>
<Col span={8}>
<Checkbox value="D">D</Checkbox>
</Col>
<Col span={8}>
<Checkbox value="E">E</Checkbox>
</Col>
</Row>
</Checkbox.Group>,
mountNode,
);
API#
Props#
Checkbox#
Property | Description | Type | Default | Version |
---|---|---|---|---|
autoFocus | If get focus when component mounted | boolean | false | |
checked | Specifies whether the checkbox is selected | boolean | false | |
defaultChecked | Specifies the initial state: whether or not the checkbox is selected | boolean | false | |
disabled | If disable checkbox | boolean | false | |
indeterminate | The indeterminate checked state of checkbox | boolean | false | |
onChange | The callback function that is triggered when the state changes | function(e:Event) | - |
Checkbox Group#
Property | Description | Type | Default | Version |
---|---|---|---|---|
defaultValue | Default selected value | string[] | [] | |
disabled | If disable all checkboxes | boolean | false | |
name | The name property of all input[type="checkbox"] children | string | - | |
options | Specifies options | string[] | number[] | Option[] | [] | |
value | Used for setting the currently selected value | string[] | [] | |
onChange | The callback function that is triggered when the state changes | function(checkedValue) | - |
Methods#
Checkbox#
Name | Description | Version |
---|---|---|
blur() | Remove focus | |
focus() | Get focus |