1.0.77-beta.3 • Published 1 year ago
ngx-ty-nx-menu1 v1.0.77-beta.3
ngx-ty-menu 左侧菜单组件使用方法:
- npm i ngx-ty-menu --save
- 在app.module.ts中添加代码:
...
// add ++
import { HttpClient, HttpClientModule } from '@angular/common/http';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
// add ++
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
@NgModule({
...
imports: [
...
// add ++
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: createTranslateLoader,
deps: [HttpClient]
}
}),
]
})
...
- 引入菜单module
import { MenuModule } from 'ngx-ty-menu';
- 组件引用
<app-menu
[data]="menuList"
[appName]="loginName"
(menuFoldStatus)="menuFoldStatus($event)">
</app-menu>
- 自定义下方配置实例
<app-menu
[data]="menuList"
[optionsContent]="optionsContent"
[appName]="loginName"
(menuFoldStatus)="menuFoldStatus($event)">
<ng-template #optionsContent>
<ul>
<li>自定义</li>
</ul>
</ng-template>
</app-menu>
- 组件data数据请求menu接口
this._http.post('menus?c=' + new Date().getTime(), {}, this.ctx_auto).subscribe(data => {
if (data && data.status === 200) {
this.menuList = data.data;
}
});
- 组件data数据格式
data = [
{
id: 1, // 菜单id 【必填】
title: '测试1', // 菜单标题 【必填】
enable: true, // 菜单权限【非必填,不传该字段默认为false】true:该项菜单正常可点击;false:该项菜单禁用。
children: [ // 菜单子集 【非必填】
{
id: 2,
title: '测试二级',
children: [
{
id: 3,
title: '测试三级',
link: '/test1'
},
]
}
]
}, {
id: 4,
title: '测试2',
enable: false,
link: '/test2' // 菜单当前路由 【最后一级必填 否则点击无效】
},
]
- 组件api:
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
data | 【必填】菜单数据数组 | any[] | - |
productType | 【非必填】当前项目菜单productType | Array[]当前菜单项productType值包含在传入数组:路由跳转当前菜单项productType值不包含在传入数组:href跳转 | []不传入该项时,默认全部为href跳转 |
favoritesAction | 【非必填】快捷访问收藏/取消保存接口 | Object{mark: 'xxx', unmark: 'xxx'}mark: 收藏接口unmark: 取消收藏接口 | 不传入该项时,不显示「快捷访问」菜单 |
favoritesQueryBody | 【非必填】快捷访问收藏/取消保存接口参数 | Object | {menuId: ${menuId}} |
menuConfig | 【非必填】是否展示 菜单头(logo/展开收起)、下方配置项 | Booleantrue:显示菜单头与配置项false:隐藏菜单头与配置项 | true |
logoContent | 【非必填】自定义logo图标 | TemplateRef | 听云logologo图标点击事件跳转-> window.open('/platform/product/view', '_self'); |
mode | 【非必填】菜单类型,支持垂直和水平模式两种 | 垂直:'vertical'水平:'horizontal' | vertical |
unreadMessage | 【非必填】下方默认配置中<我的消息>是否有未读信息 | booleantrue:有未读消息false:无未读消息 | false |
helpDocument | 【非必填】下方默认配置中<帮助文档>跳转路径 | string | /platform/onlinehelp |
theme | 【非必填,当前仅支持白色版】主题颜色 | 白色版:'light'黑色版:'black' | light |
language | 【非必填】国际化参数 | 中文:'zh'英文:'en' | zh |
optionsContent | 【非必填】自定义配置项 | TemplateRef | 我的消息、language、帮助文档、主题、退出 |
(menuFoldStatus) | 菜单收起展开状态change事件回调函数 | EventEmitter\ 展开:false 收起:true | false |
(myMessageClick) | 下方默认配置中<我的消息>点击事件 | EventEmitter\ | - |
(languageChange) | 下方默认配置中\点击change事件 | EventEmitter\中文:'zh'英文:'en' | 默认为language传入值 |
(themeChange) | 下方默认配置中<主题>换肤change事件 | EventEmitter\白色版:'light'黑色版:'black' | 默认为theme传入值 |
(logout) | 下方默认配置中<退出>点击事件 | EventEmitter\ | - |
1.0.77-beta.3
1 year ago