import React from 'react'; export interface CheckboxGroupProps { /** * 子节点。一般为一组`Checkbox`或者``之类的。 */ children: React.ReactNode; /** * 复选框的值。 */ value?: T[]; /** * 值发生变化事件。 */ onChange?: (value: T[]) => void; /** * 复选框不可用。 */ disabled?: boolean; /** * 只读。 */ readOnly?: boolean; /** * 紧密模式。 */ dense?: boolean; /** * 标题显示位置 */ labelPosition?: 'left' | 'right'; /** * 指定失去焦点事件监听器。 */ onBlur?: () => void; /** * 指定获取焦点事件监听器。 */ onFocus?: () => void; /** * 纵向显示。 */ column?: boolean; /** * 指定额外的样式。 */ className?: string; /** * 指定样式 */ style?: React.CSSProperties; /** * 指定Checkbox的颜色。 */ color?: string; /** * 错误状态 */ error?: any; /** * dom元素的id */ id?: string; /** * 网格对齐布局 * * @type {boolean} * @memberof CheckboxGroupProps */ gridLayout?: boolean; /** * 按照几列做网格布局,默认为3列 * * @type {number} * @memberof CheckboxGroupProps */ columns?: number; /** * 是否支持全选 */ enableSelectAll?: boolean; } export interface CheckboxGroupStateType { value?: T[]; } /** * 复选框组组件。不指定value属性时,此组件为非受控状态,自身维护选中状态。 */ export default class CheckboxGroup extends React.Component, CheckboxGroupStateType> { static defaultProps: { columns: number; }; private isControlled; constructor(props: CheckboxGroupProps); /** * 处理选中的值 * * @private * @param {React.MouseEvent} event * @param {T} checkboxValue * @returns * @memberof CheckboxGroup */ private onCheckboxChange; /** *处理全选 * * @private * @memberof CheckboxGroup */ private onSelectAllClick; private onSelectAllChange; /** *获取所有子元素的值 * * @private * @returns {any[]} * @memberof CheckboxGroup */ private getItemValues; private readonly selectedAll; /** * 渲染全选复选框 * * @private * @returns * @memberof CheckboxGroup */ private renderSelectAll; render(): JSX.Element; }