UNPKG

dora-ui

Version:

A React.js Mobile UI Library

54 lines (53 loc) 2.07 kB
import React, { Component } from 'react'; import PropTypes from 'prop-types'; /** * 1. 先写 interface 可选 必选 * 2. 再写defaultProps 然后将interface中有默认值的字段的可选符号删去 * 3. 最后写propTypes interface中没有可选符号 defaultProps中也没有默认值的字段需要加上isRequired */ export declare type positionType = 'top' | 'right' | 'bottom' | 'left' | 'center'; export interface Props { node?: HTMLElement; visible: boolean; position: positionType; mask: boolean; maskClosable: boolean; onClose: () => void; wrapClassName: string; contentStyle: React.CSSProperties; stopScrollUnderMask: boolean; destroyOnClose: boolean; transitionName: string; transitionDuration: number; } declare class Popup extends Component<Props> { static propTypes: { node: PropTypes.Requireable<any>; visible: PropTypes.Requireable<boolean>; position: PropTypes.Requireable<string>; mask: PropTypes.Requireable<boolean>; maskClosable: PropTypes.Requireable<boolean>; onClose: PropTypes.Requireable<(...args: any[]) => any>; wrapClassName: PropTypes.Requireable<string>; contentStyle: PropTypes.Requireable<object>; stopScrollUnderMask: PropTypes.Requireable<boolean>; destroyOnClose: PropTypes.Requireable<boolean>; transitionName: PropTypes.Requireable<string>; transitionDuration: PropTypes.Requireable<number>; }; static defaultProps: Partial<Props>; /** * 初次渲染节点(visible:true => mount) * 后续只会隐藏(visible:false => visibility+opacity) * 或显示(visible:true => visibility+opacity)节点 * 不会删除节点(除非父组件卸载或destroyOnClose为true) */ hasFirstRendered: boolean; componentDidMount(): void; componentDidUpdate(prevProps: Props): void; componentWillUnmount(): void; handleMaskClick: () => void; get transitionName(): string; render(): JSX.Element | null; } export default Popup;