import { CommonStyleType, Item } from '../common.js'; /** * 菜单选项不仅支持传入一个对象, 还支持您传入一个返回选项对象的函数, 如果它是一个函数, 则会在模型每次加载成功时被调用, 调用时会传入当前模型选项以及当前模型的索引值, 这样您就可以根据这些信息来做判断, 为不同的模型提供不同的选项. * @usage * * #### 基础用法: * <<< @/usages/options.ts#MenuOptionsBasic * * #### 高级用法: * 支持使用函数, 每当模型加载成功后函数就会被调用, 回调时会传入当前模型配置以及索引方便您根据这些信息来做判断, 返回类型为菜单选项 * * - 判断当前索引: * ::: details 点我查看代码 * <<< @/usages/options.ts#MenuOptionsAdvanced-1 * ::: * * - 判断模型名称: * ::: details 点我查看代码 * <<< @/usages/options.ts#MenuOptionsAdvanced-2{5,9,13} * ::: */ export interface MenusOptions { /** * 是否禁用菜单, 为true时将不会创建菜单 * @default false */ disable?: boolean; /** * 配置菜单项, 您可以通过这个选项配置菜单项, 该配置选项非常的灵活, 它可以是一个由 Item 类型组成的数组, 也可以是一个函数, 当值是一个数组时, 它将覆盖默认菜单项配置. 当值是一个函数时, 您可以从函数中拿到默认菜单项 * * #### Item 类型描述: * - id * - 类型: string * - 必须: 是 * - 描述: 唯一键 * - title * - 类型: string * - 必须: 是 * - 描述: 菜单项标题, 鼠标悬浮时提示此标题 * - icon * - 类型: string * - 必须: 是 * - 描述: 菜单项图标, 详见: [自定义图标](/guide/icon) * - onClick * - 类型: ([oml2d](/api/interfaces/Oml2dProperties)) => void * - 必须: 否 * - 描述: 定义菜单项点击事件, 函数中可以通过参数获取到[oml2d对象示例](/api/interfaces/Oml2dProperties), 方便您定制更多功能 */ items?: Item[] | ((defaultItems: Item[]) => Item[]); /** * 配置菜单整体样式 */ style?: CommonStyleType; /** * 移动端下整体样式 */ mobileStyle?: CommonStyleType; /** * 配置菜单每个子项按钮的样式 */ itemStyle?: CommonStyleType; /** * 移动端下菜单子项样式 */ mobileItemStyle?: CommonStyleType; }