/**
|
* 菜单树节点
|
*/
|
export interface MenuItem {
|
/** 唯一标识 (string | number) */
|
key: string | number;
|
/** 显示文本 */
|
label: string;
|
/** 子菜单/页面 */
|
children?: MenuItem[];
|
/** 页面路径 */
|
path?: string;
|
/** 页面名称 */
|
pageName?: string;
|
/** 图标类型 */
|
type?: 'chart' | 'setting' | 'folder' | 'file';
|
}
|
|
/**
|
* 菜单树结构
|
*/
|
export interface MenuTree extends MenuItem {}
|
|
/**
|
* CSideMenu 组件属性
|
*/
|
export interface CSideMenuProps {
|
/** 顶区标题 */
|
title: string;
|
/** 合并后的菜单树 */
|
tree?: MenuTree;
|
/** 是否收起 */
|
collapsed: boolean;
|
/** 当前选中键 */
|
curActivePaneKey?: string | number;
|
/** 已打开页签列表 */
|
panesOnShelf?: Array<{ key: string }>;
|
/** 点击叶子菜单项回调 */
|
onClickMenuItem: (item: MenuItem) => void;
|
/** 设置折叠状态回调 */
|
onSetMenuCollapse: (collapsed: boolean | void) => void;
|
}
|