应用菜单
菜单是网站导航的核心组件,用于组织并展示站点层级结构,提供快速访问路径。其中PC端菜单通常包含水平/垂直布局、多级下拉、高亮交互等功能,移动端菜单则是在页面底部进行平铺展示,支持高亮交互,折叠收缩多余菜单项等功能。
示例效果
输入参数
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| modelData | 菜单模型数据 | Object as IAppMenu | - |
| context | 应用上下文对象 | Object as IContext | - |
| params | 视图参数对象 | Object as IParams | {} |
| provider | 部件适配器 | Object as IControlProvider | - |
| collapse | 是否折叠 | Boolean | - |
| currentPath | 当前路径(已弃用) | String | - |
状态
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| isCreated | 控制器是否走完created生命周期 | boolean | false |
| isMounted | 控制器是否走完mounted生命周期 | boolean | false |
| isDestroyed | 控制器是否走完destroy生命周期 | boolean | false |
| context | 应用上下文对象 | IApiContext | {} |
| zIndex | popover层级 | number | - |
| activated | 当前部件是否为激活状态(缓存下的激活状态,一般与框架的生命周期相同) | boolean | false |
| isSimple | 是否是简单模式,简单模式下不加载数据,而是由父组件传值 | boolean | false |
| isLoading | 部件是否正在加载 | boolean | false |
| loadDefault | 是否默认加载数据 | boolean | true |
| disabled | 部件禁用状态 | boolean | false |
| maskOption | 部件遮罩参数 | IApiMaskOption | - |
| isCounterDisabled | 是否禁用计数器 | boolean | - |
| menuItemsState | 菜单项状态 | { [p: string]: { visible: boolean; permitted: boolean } } | {} |
| mobMenuItems | 移动端菜单项集合 | IAppMenuItem[] | [] |
控制器
| 名称 | 说明 | 类型 |
|---|---|---|
| id | 控制器实例的唯一标识,创建时自动生成 | string |
| state | 状态对象,泛型 | S |
| model | 模型对象,泛型 | T |
| context | 应用上下文对象 | IApiContext |
| params | 视图参数对象 | IApiParams |
| view | 当前视图控制器 | IApiViewController & IApiData |
| ctrlId | 部件标识 | string |
| controlParams | 部件参数 | IApiParams |
| layoutPanel | 部件布局面板控制器 | IApiViewLayoutPanelController & IApiData |
| runMode | 运行模式(DESIGN:设计模式,RUNTIME:运行时) | 'DESIGN' | 'RUNTIME' |
| allAppMenuItems | 所有菜单项 | IAppMenuItem[] |
| force | 强制更新,触发render函数 | (_callback?: () => void) => void |
| startLoading | 开始加载 | () => Promise<void> |
| endLoading | 加载完毕 | () => Promise<void> |
| getControlType | 获取部件类型 | () => string |
| enable | 取消部件禁用 | () => void |
| disabled | 设置部件禁用 | (options?: IApiMaskOption) => void |
| disableCounter | 禁用部件计数器 | () => void |
| emitDEDataChange | 触发实体数据变更的通知 | (type: 'create' | 'update' | 'remove', data: IApiData) => void |
| getDefaultOpenView | 获取菜单默认打开视图 | () => string | undefined |
事件
| 名称 | 描述 | 类型 |
|---|---|---|
| onCreated | 自身的准备工作完成(如模型加载,各种初始化,init结束) | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
| onMounted | 没有下级组件created之后的生命周期,有下级时需要等所有下级组件onMounted完成后触发 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
| onBeforeDestroy | 组件销毁前 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
| onDestroyed | 自身组件被销毁时触发 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
| onActivated | 自身组件重新激活 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
| onDeactivated | 自身组件暂时停用 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
| onUIAction | 界面行为执行 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
| onRefreshSuccess | 刷新成功 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
| onClick | 菜单点击事件 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
控件动态参数
暂无内容