@txdfe/at
Version:
一个设计体系组件库
125 lines (99 loc) • 2.25 kB
TypeScript
/// <reference types="react" />
import * as React from 'react';
interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
onSelect?: any;
}
export interface SplitButtonProps extends HTMLAttributesWeak {
/**
* 按钮的类型
*/
type?: 'normal' | 'primary' | 'secondary';
/**
* 按钮组的尺寸
*/
size?: 'small' | 'medium' | 'large';
/**
* 主按钮的文案
*/
label?: React.ReactNode;
/**
* 设置标签类型
*/
component?: 'button' | 'a';
/**
* 是否为幽灵按钮
*/
ghost?: 'light' | 'dark' | false | true;
/**
* 默认激活的菜单项(用法同 Menu 非受控)
*/
defaultSelectedKeys?: Array<any>;
/**
* 激活的菜单项(用法同 Menu 受控)
*/
selectedKeys?: Array<any>;
/**
* 菜单的选择模式
*/
selectMode?: 'single' | 'multiple';
/**
* 选择菜单项时的回调,参考 Menu
*/
onSelect?: () => void;
/**
* 点击菜单项时的回调,参考 Menu
*/
onItemClick?: () => void;
/**
* 触发按钮的属性(支持 Button 的所有属性透传)
*/
triggerProps?: {};
/**
* 弹层菜单的宽度是否与按钮组一致
*/
autoWidth?: boolean;
/**
* 弹层是否显示
*/
visible?: boolean;
/**
* 弹层默认是否显示
*/
defaultVisible?: boolean;
/**
* 弹层显示状态变化时的回调函数
*/
onVisibleChange?: (visible: boolean, reason: string) => void;
/**
* 弹层的触发方式
*/
popupTriggerType?: 'click' | 'hover';
/**
* 弹层对齐方式, 详情见Overlay align
*/
popupAlign?: string;
/**
* 弹层自定义样式
*/
popupStyle?: {};
/**
* 弹层自定义样式类
*/
popupClassName?: string;
/**
* 透传给弹层的属性
*/
popupProps?: {};
/**
* 透传给 Menu 的属性
*/
menuProps?: {};
/**
* 透传给 左侧按钮 的属性
*/
leftButtonProps?: {};
}
export default class SplitButton extends React.Component<
SplitButtonProps,
any
> {}