UNPKG

@aplus-frontend/ui

Version:

114 lines (113 loc) 2.65 kB
import { DropdownProps, ModalFuncProps, PopconfirmProps, TooltipProps } from '@aplus-frontend/antdv'; import { VNode } from 'vue'; export type ActionColor = 'primary' | 'success' | 'error' | 'warn'; export type ApActionItemProps = { /** * 文本 */ text?: string | VNode; /** * 预定义文本颜色 */ color?: ActionColor; /** * 是否禁用 */ disabled?: boolean; /** * 是否可见 */ visible?: boolean; /** * 点击时的动作,支持异步 * @param e * @returns */ onAction?: (e: MouseEvent) => Promise<any>; /** * 基础点击事件 * @param e * @returns */ onClick?: (e: MouseEvent) => void; /** * 是否显示loading效果 */ loading?: boolean; /** * 配置左侧显示的图标 * @since 6.37.0 */ icon?: any; /** * 是否优先显示图标 */ iconFirst?: boolean; /** * 优先显示图标时,对弹出的tooltip进行设置 */ tooltip?: Partial<Omit<TooltipProps, 'title'>>; }; export type MixedActionTypes = ApActionItemProps | ApActionItemModalProps | ApActionItemPopconfirmProps; export type GroupActionTypes = MixedActionTypes | ApActionItemDropdownProps; export type ApActionItemDropdownProps = { /** * 触发下拉的行为 */ trigger?: DropdownProps['trigger']; /** * 菜单弹出的位置 */ placement?: DropdownProps['placement']; /** * 下拉菜单中的行为项配置 */ actions?: MixedActionTypes[]; /** * 是否显示向下的箭头 */ showIcon?: boolean; } & Omit<ApActionItemProps, 'onAction'>; export type ApActionGroupProps = { count?: number; /** * 触发下拉的行为 */ trigger?: DropdownProps['trigger']; /** * 菜单弹出的位置 */ placement?: DropdownProps['placement']; /** * 菜单项配置 */ actions?: GroupActionTypes[]; /** * 对于平铺Action,优先显示图标 */ iconFirst?: boolean; }; export type ApActionItemModalProps = ApActionItemProps & { /** * 对话框的具体配置 */ modalProps?: Omit<ModalFuncProps, 'type'>; }; export type ApActionItemPopconfirmProps = ApActionItemProps & { popconfirmProps?: PopconfirmProps; }; /** * ApActionItem支持的插槽 */ export type ApActionItemSlots = { default?: any; trigger?: (options: { loading: boolean; disabled: boolean; onClick: (e: MouseEvent) => void; }) => any; /** * 自定义左侧图标 */ icon?: any; };