带有angular2-mdl的FAB菜单按钮

时间:2017-01-29 11:16:08

标签: angular material-design-lite angular2-mdl

我正在使用angular2-mdl构建一个Angular 2应用程序。我在页面中添加了一个FAB按钮但在文档中找不到任何地方,angular2-mdl或MDL,有关如何添加FAB菜单的信息(see image)

有没有办法用angular2-mdl或MDL来解决这个问题?我已经在很多应用程序中看到了它。

到目前为止,这是我的按钮代码:

<button (click)="editUserDialog.show()" mdl-button  mdl-button-type="fab" mdl-colored="accent" mdl-ripple>
    <mdl-icon>add</mdl-icon>
</button>

由于

1 个答案:

答案 0 :(得分:0)

我使用@angular2-mdl/popover的弹出菜单和@angular2-mdl/core的fab-button以及芯片提供工具提示,使用angular2-mdl构建了一个FAB菜单。

您可以在此处查看fab菜单的完整实施:https://github.com/mseemann/angular2-mdl-ext/tree/master/src/components/fab-menu

组件的主要部分是菜单和项目的模板

菜单:

<button mdl-button
    mdl-button-type="fab"
    mdl-colored="primary"
    (click)="fabPopover.toggle($event)"
    (touchstart)="alwaysShowTooltips = true"
>
  <mdl-icon>add</mdl-icon>
</button>
<mdl-popover #fabPopover [hide-on-click]="true" [class.direction-up]="true">
  <ng-content></ng-content>
</mdl-popover>

和项目:

<button mdl-button mdl-button-type="mini-fab" (mouseover)="isHoovering = true" (mouseleave)="isHoovering = false" (click)="menuClick.emit()">
  <mdl-icon>{{icon}}</mdl-icon>
</button>
<mdl-chip [mdl-label]="label" [hidden]="!(fabMenu.alwaysShowTooltips || isHoovering)"></mdl-chip>

然后您可以像这样使用它:

<mdl-fab-menu #mainFabMenu>
    <mdl-fab-menu-item
        [fabMenu]="mainFabMenu"
        icon="note_add"
        label="make a note"
        (menu-clicked)="log('we need to do something here')">
    </mdl-fab-menu-item>
    <mdl-fab-menu-item
        [fabMenu]="mainFabMenu"
        icon="refresh"
        label="refresh"
        (menu-clicked)="/*do something here*/">
    </mdl-fab-menu-item>
    <mdl-fab-menu-item
        [fabMenu]="mainFabMenu"
        icon="refresh"
        label="refresh"
        (menu-clicked)="/*do something here*/">
    </mdl-fab-menu-item>
</mdl-fab-menu>

请在此处查看安装和使用详情:@angular-mdl/fab-menu