chowa
Version:
UI component library based on React
59 lines (58 loc) • 1.84 kB
TypeScript
/**
* @license chowa v1.1.3
*
* Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import * as React from 'react';
import * as PropTypes from 'prop-types';
export declare type Value = React.ReactText | boolean;
export interface Option {
label: React.ReactNode;
value: Value;
disabled?: boolean;
}
export interface RadioGroupProps {
className?: string;
style?: React.CSSProperties;
tabIndex?: number;
options: Option[];
onChange?: (value: Value) => any;
btn?: boolean;
defaultValue?: Value;
value?: Value;
mode?: 'horizontal' | 'vertical';
disabled?: boolean;
}
export interface RadioGroupState {
checkedValue: Value;
}
declare class RadioGroup extends React.PureComponent<RadioGroupProps, RadioGroupState> {
static propTypes: {
className: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
tabIndex: PropTypes.Requireable<number>;
options: PropTypes.Validator<any[]>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
btn: PropTypes.Requireable<boolean>;
defaultValue: PropTypes.Requireable<string | number | boolean>;
value: PropTypes.Requireable<string | number | boolean>;
mode: PropTypes.Requireable<string>;
disabled: PropTypes.Requireable<boolean>;
};
static defaultProps: {
tabIndex: number;
btn: boolean;
options: any[];
mode: string;
disabled: boolean;
};
constructor(props: RadioGroupProps);
componentDidUpdate(preProps: RadioGroupProps): void;
private onChangeHandler;
private compileOptions;
render(): JSX.Element;
}
export default RadioGroup;