@aliretail/react-materials-components
Version:
46 lines (45 loc) • 1.36 kB
TypeScript
import * as React from 'react';
export interface IComProps {
hasExtensionNumber: string;
value: IValue;
onChange: (val: IValue) => void;
disabled: boolean;
readOnly: boolean;
isPreview: boolean;
}
interface IValue {
areaCode: string;
seatNumber: string;
extensionNumber?: string;
}
interface IState {
state: Partial<Record<keyof IValue, 'error' | 'loading' | 'success' | 'warning'>>;
errorMsg: Partial<Record<keyof IValue, string>>;
}
export default class LandlineNumber extends React.Component<IComProps, IState> {
static defaultProps: {
value: {};
onChange: () => void;
hasExtensionNumber: boolean;
disabled: boolean;
readOnly: boolean;
isPreview: boolean;
};
state: {
state: {};
errorMsg: {};
};
handleChange(key: keyof IValue, val: string): void;
getValuePropsList(): ("areaCode" | "seatNumber" | "extensionNumber")[];
/**
* 校验规则,提供外部使用 ref 方式调用
* @param isRequired 是否是必填项
*/
validate: (isRequired?: boolean) => true | Partial<Record<"areaCode" | "seatNumber" | "extensionNumber", string>>;
setErrors(error: IState['errorMsg']): void;
clearErrors(): void;
isEmptyValue(): boolean;
getPreviewValue(): string;
render(): JSX.Element;
}
export {};