jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
33 lines (32 loc) • 1.48 kB
TypeScript
import React from 'react';
import type { ActionObject, IScopedContext } from 'jamis-core';
import { ScopedContext } from 'jamis-core';
import type { DropDownButtonProps, DropDownButtonRendererProps, DropdownItem } from './types';
interface DropDownButtonState {
isOpened: boolean;
}
export default class DropDownButton<T extends DropDownButtonProps> extends React.Component<T, DropDownButtonState> {
static defaultProps: Partial<DropDownButtonProps>;
target: any;
timer: ReturnType<typeof setTimeout>;
openTimer: ReturnType<typeof setTimeout>;
constructor(props: T);
componentDidMount(): void;
componentDidUpdate(prevProps: Readonly<DropDownButtonProps>): void;
domRef: (ref: any) => void;
toogle: (e: React.MouseEvent<any>) => void;
open: () => Promise<void>;
close: () => void;
keepOpen: (ev: React.UIEvent) => void;
doAction(action: ActionObject, args?: Record<string, any>): void;
renderButton(menuItem: DropdownItem, index: number | string, depth?: number): React.ReactNode;
renderOuter(): JSX.Element | null;
render(): JSX.Element;
}
export declare class DropDownButtonRenderer extends DropDownButton<DropDownButtonRendererProps> {
static contextType: React.Context<IScopedContext<import("jamis-core").ScopedComponentType>>;
context: React.ContextType<typeof ScopedContext>;
constructor(props: DropDownButtonRendererProps, context: IScopedContext);
componentWillUnmount(): void;
}
export {};