lark-cms
Version:
Multi terminal CMS component library
55 lines (54 loc) • 1.62 kB
TypeScript
import React from "react";
interface MenuItemProps {
label: string;
icon?: any;
action: () => void;
}
interface positionProps {
/**
* x 坐标
*/
x: number;
/**
* y 坐标
*/
y: number;
/**
* 布局的宽度
*/
width: number;
/**
* 布局的高度
*/
height: number;
}
interface YhwTooltipMenuProps {
/**
* 触发菜单的标签,可以是文字,也可以是图标等自定义组件
*/
triggerLabel: string | React.ReactElement;
/**
* 菜单项数组
*/
menuItems: MenuItemProps[];
/**
* 容器宽度(可选),默认为150
*/
containerWidth?: number;
/**
* 布局位置(可选) (TODO:遇到flex布局的,当布局未渲染 或者嵌套太深,会造成自定义组件里的onLayout获取不到位置)
*/
layoutPosition?: positionProps;
/**
* 箭头偏移量(从右侧开始)(可选),默认为0
*/
arrowOffset?: number;
}
/**
* 【基础组件】工具提示菜单组件,可配置菜单项,点击菜单项执行相应的操作
* @Description:(Tips: 如果触发的元素太靠边,可以把触发的元素宽度加大)
* @Demo: <YhwTooltipMenuRN triggerLabel="菜单" menuItems={[{ label: '选项1', action: () => console.log('选项1') }, { label: '选项2', action: () => console.log('选项2') }]} />
* @returns
*/
declare const YhwTooltipMenuRN: ({ triggerLabel, menuItems, layoutPosition, containerWidth, arrowOffset, }: YhwTooltipMenuProps) => React.JSX.Element;
export default YhwTooltipMenuRN;