zent
Version:
一套前端设计语言和基于React的实现
42 lines (41 loc) • 1.4 kB
TypeScript
import { Component } from 'react';
import Star from './Star';
import { IDisabledContext } from '../disabled';
export interface IRateProps {
onChange?: (value: number) => void;
value: number;
allowClear?: boolean;
allowHalf?: boolean;
character?: React.ReactNode;
className?: string;
count: number;
disabled?: boolean;
style?: React.CSSProperties;
readOnly?: boolean;
}
export interface IRateState {
starRefs: Array<React.RefObject<Star>>;
cleanedValue: number | null;
hoverValue: number | null;
}
export declare class Rate extends Component<IRateProps, IRateState> {
static defaultProps: {
value: number;
count: number;
allowHalf: boolean;
allowClear: boolean;
character: JSX.Element;
readOnly: boolean;
};
static contextType: import("react").Context<IDisabledContext>;
context: IDisabledContext;
constructor(props: IRateProps);
onHover: (event: React.MouseEvent<HTMLLIElement>, index: number) => void;
onMouseLeave: () => void;
onClick: (event: React.MouseEvent<HTMLLIElement>, index: number) => void;
getStarDOM(index: number): HTMLLIElement;
getStarValue(index: number, x: number): number;
static getDerivedStateFromProps({ count }: IRateProps, { starRefs }: IRateState): Partial<IRateState> | null;
render(): JSX.Element;
}
export default Rate;