Angular 5 Material如何将下拉菜单添加到多层Carousel样式SideNav?

在此处输入图片说明你好,世界,我有一个sidenav,基本上可以使用制表符,只是我想在过渡中实现的效果。但是,现在我想通过单击“选项1,选项2或选项3”从选项卡进行此过渡,但是现在出现的两个选项是带有5个选项和2个选项的下拉菜单(打开时(下拉菜单),但我找不到实现它的方法。有谁知道从哪里开始或类似的想法?

这是我的代码:https : //stackblitz.com/edit/angular-x5xefi-xbxn4i

法比安·昆

编辑19.12.2018

请参阅最新的stackblitz这里一个解决方案,模拟所需的类似行为这样

2018年12月18日

我不确定我确切地了解您想要实现什么,但是这是我整理的快速而肮脏的堆叠闪电战显然,您必须对下拉菜单/选项进行一些样式设置,以使其看起来更加自然并与其他样式保持一致。

改变在 tab-group-basic-example.ts

{
  id: 2, // 1st level
  options: [
    { 
      option: 'Dropdown with 5 options', 
      route: '/Submenu1', 
      options: [
        { label: "Option 1", route: "/Submenu1" },
        { label: "Option 2", route: "/Submenu2" },
        { label: "Option 3", route: "/Submenu3" },
        { label: "Option 4", route: "/Submenu4" },
        { label: "Option 5", route: "/Submenu5" },
      ]        
    },
    // { option: 'TestJustIgnore', route: '/Submenu2' },
    // { option: 'TestJustIgnore', route: '/Submenu3' },
    { 
      option: 'Dropdown with 2 options', 
      route: '/Submenu4', 
      options: [
        { label: "Option 1", route: "/Submenu1" },
        { label: "Option 2", route: "/Submenu2" }
      ]  
    },
    // { option: 'TestJustIgnore', route: '/Submenu5' },
  ]
}

我添加了一个options属性,其中包含用于下拉菜单的选项数组,带有文本标签(作为选项显示)以及应该导航到的路线。当该属性被设置,而不是一个mat-list-item一个mat-select元件将与所定义的选项中呈现。

的变化 tab-group-basic-example.html

<a mat-list-item *ngIf="!rootOption.rootTab && !rootOption.options"
                 [routerLink]="rootOption.route" 
                 routerLinkActive="active">
  {{rootOption.option}}
</a>

<mat-select *ngIf="rootOption.options"                        
             placeholder="Select an Option">
  <mat-option *ngFor="let option of rootOption.options"
              [routerLink]="option.route" 
              [value]="option.label">
    {{option.label}}
  </mat-option>
</mat-select>

基本上,它检查是否options定义了上述内容,如果是,则将mat-select使用提供的选项来渲染元素,如果没有,则将正常mat-list-item显示为正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular 5 Material多层轮播样式SideNav菜单(无下拉菜单)

Angular 5 ng-select如何将两个值添加到“ bindLabel”?

如何将 composeAsync 添加到 angular 5 验证器

Angular 5下拉菜单

Angular Material:将 sidenav 添加到几页?

如何将 Angular 5 应用程序添加到 Visual Studio 中的解决方案?

将外部 JS 文件添加到 Angular 5 CLI

Angular 5 Material多重菜单

如何使用组件将 bootstrap 4 添加到 angular 5

如何将多个电子邮件地址的验证添加到一个用逗号分隔的收件人字段中-Angular 5

如何将图像添加到Angular Material表列中?

找不到Angular Material核心主题-如何将Angular Material CSS添加到Liferay Portlet

动态添加到组件的Angular 5胶合逻辑

在Angular 5 HTML中将变量添加到对象路径

angular 5 下拉保留值

将Angular Material下拉菜单移到左侧

如何在Angular 5中将条件片段及其值添加到锚定html标签

将数据添加到行为对象数组Angular 5的末尾

Angular 5属性指令将mat-ripple添加到主机元素

Angular 5将动态HTML文件添加到DIV中

将class =“ row”添加到angular js的每5个项目中

将 mixpannel 与 Angular 5 集成

将Tradingview嵌入Angular 5

如何为动态创建的组件添加样式 - angular 5

如何将 Markdown-it 添加到 angular 8

如何将pug添加到angular-cli?

如何将 CSS 添加到 Angular Materials 组件?

如何将 Google 的 Workbox 添加到 Angular 项目?

如何将全屏视频背景添加到Angular