1.0.77 • Published 3 years ago
ngx-ty-top-menu
Licence
—
Version
1.0.77
Deps
7
Size
2.1 MB
Vulns
0
Weekly
0
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 { TopMenuModule } from 'ngx-ty-top-menu';
- 组件引用
<top-menu
[uerList]="uerList"
[menuList]="topMenuList"
[userName]="loginName"
(themeChange)="themeChange($event)"
(logout)="logout()"
[optionsContent]="optionsContent"
(languageChange)="changeLanguage($event)"
[theme]="isTheme"
(searchApi)="searchApi($event)"
[listOfData]="listOfData"
[total]="total"
>
<div class="logo">
<div class="logo-img"></div>
</div>
<i class="avatar" nz-icon nzType="user" nzTheme="outline"></i>
</top-menu>
- 自定义下方配置实例
<top-menu
[uerList]="uerList"
[menuList]="topMenuList">
<!-- 下拉框自定义 -->
<ng-template #optionsContent>
<ul>
<li>自定义</li>
</ul>
</ng-template>
<!-- logo -->
<div class="logo">
<div class="logo-img"></div>
</div>
<!-- user图片 -->
<i class="avatar" nz-icon nzType="user" nzTheme="outline"></i>
</top-menu>
- 组件data数据请求menu接口
this._http.post('menus?c=' + new Date().getTime(), {}, this.ctx_auto).subscribe(data => {
if (data && data.status === 200) {
data.data.map(item => {
if (item.option) {
this.uerList.push(item);
} else {
this.topMenuList.push(item);
}
});
}
});
- 组件data数据格式
data = [
{
id: 1,
title: '测试一级菜单1', //名称
link: '/top-menu', // 跳转路由
selected: true, // 是否选中
},
]
- 组件api:
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| [menuList] | 【必填】菜单数据数组 | any[] | - |
| [theme] | 【非必填,当前仅支持白色版】主题颜色 | 白色版:'light' 黑色版:'black' |
light |
| [searchList] | 【非必填】搜索框下拉列表数组 |
||
| [searchKey] | 【非必填】搜索输入框下拉列表值 |
||
| [placeholder] | 【非必填】搜索输入框placeholder |
||
| [searchValue] | 【非必填】搜索输入框值 |
||
| [uerList] | 【必填】点击用户下拉菜单选项 |
||
| [userName] | 【必填】用户名 |
||
| [language] | 【非必填】国际化参数 | 中文:'zh' 英文:'en' |
zh |
| [optionsContent] | 【非必填】自定义配置项 | TemplateRef | 我的消息、language、帮助文档、主题、退出 |
| (searchKeyChange) | 搜索框下拉菜单改变事件 | EventEmitter<string> |
|
| (searchValueChange) | 搜索框输入值改变世界 | EventEmitter<string> |
|
| (languageChange) | 下方默认配置中<Language>点击change事件 | EventEmitter<string> 中文:'zh' 英文:'en' |
默认为[language]传入值 |
| (themeChange) | 下方默认配置中<主题>换肤change事件 | EventEmitter<string> 白色版:'light' 黑色版:'black' |
默认为[theme]传入值 |
| (logout) | 下方默认配置中<退出>点击事件 | EventEmitter<boolean> | |
| (searchApi) | 统一搜索事件 | EventEmitter | |
| [listOfData] | 表格数据 | [] | [] |
| [total] | 后端分页数据总条数 | Number | 0 |
| - |