1.0.77-beta.3 • Published 1 year ago

ngx-ty-nx-menu1 v1.0.77-beta.3

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

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【非必填】当前项目菜单productTypeArray[]当前菜单项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 收起:truefalse
(myMessageClick)下方默认配置中<我的消息>点击事件EventEmitter\-
(languageChange)下方默认配置中\点击change事件EventEmitter\中文:'zh'英文:'en'默认为language传入值
(themeChange)下方默认配置中<主题>换肤change事件EventEmitter\白色版:'light'黑色版:'black'默认为theme传入值
(logout)下方默认配置中<退出>点击事件EventEmitter\-
1.0.77-beta.3

1 year ago