📅  最后修改于: 2023-12-03 14:47:00.909000             🧑  作者: Mango
Ant Design 是一个基于 React 的 UI 组件库,提供了一系列漂亮、高效、易用的 UI 组件。其中的 Checkbox 组件可以让用户选择一个或多个选项,并通过回调函数将所选值传递给应用程序。
使用 npm 安装 Ant Design 和 React 并在应用程序中引入:
npm install antd
npm install react
import React from 'react';
import ReactDOM from 'react-dom';
import { Checkbox } from 'antd';
ReactDOM.render(
<Checkbox>Checkbox</Checkbox>,
mountNode,
);
import React from 'react';
import ReactDOM from 'react-dom';
import { Checkbox } from 'antd';
function onChange(e) {
console.log(`checked = ${e.target.checked}`);
}
ReactDOM.render(
<Checkbox onChange={onChange}>Checkbox</Checkbox>,
mountNode,
);
import React from 'react';
import ReactDOM from 'react-dom';
import { Checkbox } from 'antd';
function onChange(e) {
console.log(`checked = ${e.target.checked}`);
}
ReactDOM.render(
<>
<Checkbox onChange={onChange}>Enabled</Checkbox>
<Checkbox onChange={onChange} disabled>Disabled</Checkbox>
</>,
mountNode,
);
import React from 'react';
import ReactDOM from 'react-dom';
import { Checkbox } from 'antd';
const plainOptions = ['Apple', 'Pear', 'Orange'];
const defaultCheckedList = ['Apple', 'Orange'];
class CheckboxGroup extends React.Component {
state = {
checkedList: defaultCheckedList,
indeterminate: true,
checkAll: false,
};
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,
});
};
render() {
return (
<>
<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} />
</>
);
}
}
ReactDOM.render(<CheckboxGroup />, mountNode);
| 参数 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- |
| autoFocus | 自动获取焦点 | boolean | false
|
| checked | 指定当前是否选中 | boolean | false
|
| defaultChecked | 初始是否选中 | boolean | false
|
| disabled | 失效状态 | boolean | false
|
| indeterminate | 设置 indeterminate 状态,只负责样式控制 | boolean | false
|
| onChange | 变化时回调函数 | Function(e:Event) | 无 |
| onClick | 点击时回调函数 | Function(e:Event) | 无 |
| onKeyDown | 按下键盘时回调函数 | Function(e:Event) | 无 |
| onKeyPress | 按下键盘时回调函数 | Function(e:Event) | 无 |
| onKeyUp | 按下键盘时回调函数 | Function(e:Event) | 无 |
| value | 设置选中的值 | any | 无 |
| className | 自定义类名 | string | 无 |
| 参数 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- |
| defaultValue | 默认选中的选项 | string[] | 无 |
| disabled | 整组失效 | boolean | false
|
| options | 指定可选项,[{ label: string value: string disabled?: boolean }] | Array<{ label: string value: string disabled?: boolean }> | [] |
| value | 指定选中的选项 | string[] | 无 |
| onChange | 变化时回调函数 | Function(checkedValue) | 无 |
Ant Design Checkbox 组件提供了基本的单选和多选功能,并提供了很多自定义选项,方便程序员在实际开发中使用和扩展。同时,它也和其他 Ant Design 组件配合使用,可以创建出更丰富、更复杂的 UI 界面。