ukelli-ui
Version:
Base on React's UI lib. Make frontend's dev simpler and faster.
53 lines (52 loc) • 1.44 kB
TypeScript
import React, { Component } from 'react';
import { PopoverEntity } from '../popover/popover-entity';
export interface TipButtonProps {
/** 点击按钮的回调 */
onClick?: (event: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;
/** 按钮的显示文字 */
text?: string;
/** 弹出层关闭的回调 */
onClose?: () => void;
/** 弹出层多久自动关闭 */
timer?: number;
/** 是否显示弹出层 */
showTip?: boolean;
/** 是否自动关闭弹出层 */
autoClose?: boolean;
/** 是否禁用 */
disabled?: boolean;
/** 弹出层的位置 */
position?: string;
/** 按钮的 className */
className?: string;
/** 传入 popover 显示的 children */
popover?: any;
}
/**
* 基于 Button 和 Popover 的组合组件
*
* @export
* @class TipButton
* @extends {Component}
*/
export default class TipButton extends Component<TipButtonProps> {
static defaultProps: {
showTip: boolean;
autoClose: boolean;
timer: number;
};
popoverLifeTimer: any;
btnId: string;
popover: PopoverEntity;
prevNode: any;
relativeBtn: any;
constructor(props: any);
componentWillUnmount(): void;
closePopover(): void;
clearTimer(): void;
showPopover(e: any): void;
_onClick(e: any): void;
refreshChild(): void;
setPopoverChildren(popover: any): void;
render(): JSX.Element;
}