Ionic2 - 可滑动标签

Ionic开发过程中可能遇到当标签个数较多时可能需要显示固定数量的标签,然后做成可滑动的形式。


20160912135110197.gif

创建一个组件:

ionic g component MySlide
  • my-slide.html
<ion-slides class="slide-title" [slidesPerView]="pageNumber" [pager]="false">
  <ion-slide *ngFor="let slide of slides; let i = index;">
    <div (click)="onClick(i)">
      <span class="slide-title-unit" [ngClass]="{'slide-title-active': selectedIndex == i}">{{slide}}</span>
    </div>
  </ion-slide>
</ion-slides>
  • my-slide.scss
my-slide {
  $slide-height-small: 40px;
  $slide-height-large: 50px;

  .slide-title {
    background-color: #fff;
    width: 100%;
    height: $slide-height-large;
    padding: 0;
    border-bottom: 1px solid #eeeeee !important;
  }

  .slide-title-unit {
    padding-bottom: 12px;
    font-size: 1.6rem !important;
    color: #666666;
    height: $slide-height-small;
    font-weight: 800;
    opacity: 0.8;
    line-height: $slide-height-small;
    text-transform: uppercase;
  }

  .slide-title-active {
    color: #fc5454 !important;
    border-bottom: 3px solid #fc5454
  }
}
  • my-slide.ts
import {Component, Input, Output, EventEmitter} from '@angular/core';

@Component({
  selector: 'my-slide',
  templateUrl: 'my-slide.html'
})
export class MySlide {

  @Input("slides") slides: string[] = [];
  @Input("pageNumber") pageNumber: number = 5;
  @Output("slideClick") slideClick = new EventEmitter<number>();

  selectedIndex: number = 0;

  constructor() {
  }

  onClick(index) {
    this.selectedIndex = index;
    this.slideClick.emit(index);
  }
}

使用的时候在html中添加以下即可

<my-slide (slideClick)="onSlideClick($event)" [slides]="guideTags" [pageNumber]="4"></my-slide>

其中:

  1. slideClick - 标签的点击事件
  2. slides - 存放每个标签的标题, String[] 类型
  3. pageNumber - 显示的标签数量

引用链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,303评论 4 61
  • 0 开始之前 通过本教程之前,您应该至少了解一些基本的Ionic 2概念。您还必须已经安装了Ionic 2 在您的...
    孙亖阅读 1,674评论 2 10
  • 今天是5月19号,第二天,早上起来脑子里一直在冒出明天要不要买点肉存起来给儿子吃的念头,因为老公明天要出差,但转念...
    吖吖吖吖阅读 206评论 0 0
  • 脑袋炸毛似的,脑回路缺损,阻塞,细胞的流速,从形成新的到逐渐死亡,再到新的,感觉缓慢了几个世纪。对,大脑在退化,我...
    Adaever阅读 173评论 0 0
  • 1.即使你不是天才,做好准备工作也会让你看起来像个天才 不打无准备的仗,不要觉得自己是个小白别人就会对你照顾有加,...
    一只想开悟的猪阅读 278评论 0 1