amis
Version:
一种MIS页面生成工具
91 lines (90 loc) • 2.52 kB
TypeScript
import React from 'react';
import { RendererProps } from '../factory';
import type { TooltipObject, Trigger } from '../components/TooltipWrapper';
import { BaseSchema, SchemaClassName } from '../Schema';
import { ActionSchema } from './Action';
import { DividerSchema } from './Divider';
/**
* 下拉按钮渲染器。
* 文档:https://baidu.gitee.io/amis/docs/components/dropdown-button
*/
export interface DropdownButtonSchema extends BaseSchema {
/**
* 指定为 DropDown Button 类型
*/
type: 'dropdown-button';
/**
* 是否独占一行 `display: block`
*/
block?: boolean;
/**
* 给 Button 配置 className。
*/
btnClassName?: SchemaClassName;
/**
* 按钮集合
*/
buttons?: Array<ActionSchema | DividerSchema | 'divider'>;
/**
* 按钮文字
*/
label?: string;
/**
* 按钮级别,样式
*/
level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link';
/**
* 按钮提示文字,hover 时显示
*/
/**
* 点击外部是否关闭
*/
closeOnOutside?: boolean;
/**
* 点击内容是否关闭
*/
closeOnClick?: boolean;
/**
* 按钮大小
*/
size?: 'xs' | 'sm' | 'md' | 'lg';
/**
* 对齐方式
*/
align?: 'left' | 'right';
/**
* 是否只显示图标。
*/
iconOnly?: boolean;
}
export interface DropDownButtonProps extends RendererProps, Omit<DropdownButtonSchema, 'type' | 'className'> {
disabledTip?: string | TooltipObject;
/**
* 按钮提示文字,hover focus 时显示
*/
tooltip?: string | TooltipObject;
placement?: 'top' | 'right' | 'bottom' | 'left';
tooltipContainer?: any;
tooltipTrigger?: Trigger | Array<Trigger>;
tooltipRootClose?: boolean;
defaultIsOpened?: boolean;
label?: any;
}
export interface DropDownButtonState {
isOpened: boolean;
}
export default class DropDownButton extends React.Component<DropDownButtonProps, DropDownButtonState> {
state: DropDownButtonState;
static defaultProps: Pick<DropDownButtonProps, 'placement' | 'tooltipTrigger' | 'tooltipRootClose'>;
target: any;
constructor(props: DropDownButtonProps);
componentDidMount(): void;
domRef(ref: any): void;
toogle(e: React.MouseEvent<any>): void;
open(): void;
close(): void;
renderOuter(): JSX.Element;
render(): JSX.Element;
}
export declare class DropDownButtonRenderer extends DropDownButton {
}