UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

73 lines (72 loc) 2.87 kB
import React, { PureComponent, ReactNode } from 'react'; import PropTypes from 'prop-types'; import { RenderFunction } from '../../../lib/trigger/Trigger'; import { Action } from '../../../lib/trigger/enum'; import { Placements } from './enum'; export interface DropDownProps { trigger?: Action[]; overlay: ReactNode | RenderFunction; onHiddenChange?: (hidden?: boolean) => void; onHiddenBeforeChange?: (hidden: boolean) => boolean; onVisibleChange?: (visible?: boolean) => void; onOverlayClick?: (e: any) => void; hidden?: boolean; visible?: boolean; defaultHidden?: boolean; defaultVisible?: boolean; disabled?: boolean; align?: Object; getPopupContainer?: (triggerNode: Element) => HTMLElement; suffixCls?: string; prefixCls?: string; className?: string; transitionName?: string; placement?: Placements; forceRender?: boolean; popupClassName?: string; } export interface DropdownState { hidden?: boolean; } export default class Dropdown extends PureComponent<DropDownProps> { static displayName: string; static propTypes: { trigger: PropTypes.Requireable<(Action | null | undefined)[]>; overlay: PropTypes.Requireable<any>; placement: PropTypes.Requireable<Placements>; hidden: PropTypes.Requireable<boolean>; visible: PropTypes.Requireable<boolean>; onHiddenChange: PropTypes.Requireable<(...args: any[]) => any>; onHiddenBeforeChange: PropTypes.Requireable<(...args: any[]) => any>; onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>; onOverlayClick: PropTypes.Requireable<(...args: any[]) => any>; suffixCls: PropTypes.Requireable<string>; prefixCls: PropTypes.Requireable<string>; defaultHidden: PropTypes.Requireable<boolean>; defaultVisible: PropTypes.Requireable<boolean>; popupClassName: PropTypes.Requireable<string>; }; static defaultProps: { suffixCls: string; placement: Placements; trigger: Action[]; defaultHidden: boolean; }; renderedContentProps?: any; get triggerAction(): Action[]; get transitionName(): string; get prefixCls(): string; state: DropdownState; constructor(props: any); /** * 调用传入的onHiddenChange方法 * * @param {boolean} hidden */ handlePopupHiddenChange(hidden: boolean): void; handleClick(e: any): void; getContent(...props: any[]): any; renderPopupContent(...props: any[]): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)> | undefined; componentWillReceiveProps({ hidden, visible }: DropDownProps): void; render(): JSX.Element; }