单独使用可以表示两种状态之间的切换,checkbox 一般用于状态标记,需要和提交的操作配合,或者用于在一组可选项中进行多项选择时。
通过 defaultChecked 属性来设置默认勾选,通过 onChange 可以添加事件回调函数
2
const onChange = (e) => {
7
<Checkbox label="Test1" defaultChecked onChange={onChange} />
8
<Checkbox label="Indeterminate" indeterminate />
添加 disabled 属性即可让按钮处于不可用状态,同时按钮样式也会发生改变。
2
const [disabled, setDisabled] = React.useState(false);
4
setDisabled(!disabled);
9
<Checkbox label="Test1" disabled={disabled} />
12
<Button onClick={toggle}>Switch</Button>
indeterminate 属性用来表示 checkbox 的不确定状态,一般用于实现全选的效果。
2
const [indeterminate, setIndeterminate] = React.useState(false);
4
setIndeterminate(!indeterminate);
9
<Checkbox label="Test1" indeterminate={indeterminate} />
12
<Button onClick={toggle}>Switch</Button>
可以通过外部按钮控制勾选框的两种状态直接的切换。
2
const [checked, setChecked] = React.useState(false);
9
<Checkbox label="Test1" checked={checked} />
12
<Button onClick={toggle}>Switch</Button>
适用于多个勾选框绑定到同一个数组的情景,通过是否勾选来表示这一组可选项中选中的选项。
2
const [value, setValue] = React.useState(['China']);
4
if (value.length > 1) {
7
setValue(['USA', 'China']);
10
const onChange = (val) => {
15
<CheckboxGroup value={value} onChange={onChange}>
16
<Checkbox label="China" value="China" />
17
<Checkbox label="USA" value="USA" />
20
<Button onClick={toggle}>Switch</Button>