离子2:带有标签的Fab按钮

时间:2017-02-06 20:47:13

标签: label ionic2 floating-action-button

我正在根据文档使用ionic 2构建应用程序。我已经实现了一个带有fab-list的fab按钮。我试图在包含按钮旁边放置一个描述性标签。似乎没有办法在浮动按钮的旁边放置一个带有离子2的标签。我在stackoverflow和github上看了几个关于它的问题。

奇怪的是,这种基本功能还没有在离子2中实现......

是否有一种简单的方法可以在离子2中的浮动按钮旁边放置描述标签?

由于

2 个答案:

答案 0 :(得分:1)

在最新的 Ionic 框架中,您可以显示 IonFabButton 的标签,如下所示:

enter image description here

这是一个离子反应示例:

1.将以下内容粘贴到相应的 .css 文件中

ion-fab-button[data-desc] {
    position: relative;
}

ion-fab-button[data-desc]::after {
    position: absolute;
    content: attr(data-desc);
    z-index: 1;
    right: 55px;
    bottom: 4px;
    background-color: var(--ion-color-light);
    padding: 5px;
    border-radius: 5px;
    color: black;
    box-shadow: 0 3px 5px -1px rgba(0,0,0,0.2), 0 6px 10px 0 rgba(0,0,0,0.14), 0 1px 18px 0 rgba(0,0,0,0.12);
}

2.您需要使用 IonFabButton 的 data-desc 属性来设置标签

<IonFab vertical="bottom" horizontal="end" slot="fixed">
    <IonFabButton>
        <IonIcon icon={add} />
    </IonFabButton>
    <IonFabList side="top">
        <IonFabButton routerLink="/documents" data-desc="Upload Document">
            <IonIcon icon={folderOpen} color="warning" />
        </IonFabButton>
        <IonFabButton routerLink="/leave" data-desc="Apply for Leave">
          <IonIcon icon={calendarOutline} color="secondary" />
        </IonFabButton>
        <IonFabButton routerLink="/expenses"  data-desc="New Expense">
          <IonIcon icon={cardOutline} color="success" />
        </IonFabButton>
        <IonFabButton routerLink="/timesheet"  data-desc="New Timesheet">
          <IonIcon icon={timeOutline} color="primary" />
        </IonFabButton>
    </IonFabList>
</IonFab>

答案 1 :(得分:0)

这对我很有帮助

    <ion-fab bottom right>
            <button ion-fab ><ion-icon name="add"></ion-icon></button>
          <ion-fab-list side="top">

            <button ion-fab >
              <ion-icon name="logo-facebook"></ion-icon>
              <div class="label">Facebook</div>
            </button>

            <button ion-fab >
              <ion-icon name="logo-instagram"></ion-icon>
              <div  class="label" dir="rtl">Instagram </div>
            </button>

            <button ion-fab >
              <ion-icon name="logo-twitter"></ion-icon>
              <div  class="label" dir="rtl">Twitter</div>
            </button>

            <button ion-fab >
              <ion-icon name="logo-whatsapp"></ion-icon>
              <div  class="label" dir="rtl">Whatsapp</div>
            </button>

          </ion-fab-list>
        </ion-fab>

CSS:

.fab {
    contain: initial;
}

ion-fab {
    ion-fab-list button[ion-fab] {
      overflow: visible;

      div.label {
        position: absolute;
        right: 48px;
        background: rgba(0,0,0,0.7);
        height: 24px;
        line-height: 16px;
        padding: 5px 8px;
        border-radius: 3px;
        color: #fff;
        box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.14), 0 4px 5px rgba(0, 0, 0, 0.1);
    }
  }