UNPKG

lark-cms

Version:

Multi terminal CMS component library

55 lines (54 loc) 1.62 kB
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;