choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
35 lines (34 loc) • 1.52 kB
TypeScript
import React, { Component, ReactNode } from 'react';
import DropdownButton from './dropdown-button';
import { RenderFunction } from '../tooltip';
import ConfigContext, { ConfigContextValue } from '../config-provider/ConfigContext';
export interface DropDownProps {
trigger?: 'click' | 'hover' | 'contextMenu' | ('click' | 'hover' | 'contextMenu')[];
overlay: ReactNode | RenderFunction;
onVisibleChange?: (visible?: boolean) => void;
visible?: boolean;
disabled?: boolean;
align?: Record<string, any>;
getPopupContainer?: (triggerNode: Element) => HTMLElement;
prefixCls?: string;
className?: string;
transitionName?: string;
overlayClassName?: string;
placement?: 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight';
forceRender?: boolean;
overlayPlacements?: object;
}
export default class Dropdown extends Component<DropDownProps, any> {
static get contextType(): typeof ConfigContext;
static displayName: string;
static Button: typeof DropdownButton;
static defaultProps: {
mouseEnterDelay: number;
mouseLeaveDelay: number;
placement: string;
};
context: ConfigContextValue;
getTransitionName(): string;
renderOverlay: () => 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;
render(): JSX.Element;
}