ionic2/3實戰(zhàn)-自定義分頁組件

前言

  • 分頁組件是非常常用的一個功能,所以需要封裝成一個公共組件,方便調(diào)用

效果演示

ionic2實戰(zhàn)-自定義分頁組件.gif

核心代碼

  • paging.html完整代碼
<ion-grid text-center *ngIf="total>pageSize">
  <ion-row>
    <ion-col no-padding>
      <button ion-button  small [color]="color" [disabled]="pageNum==1" (click)="btnClick(1)">首頁</button>
      <button ion-button  small [color]="color" [disabled]="pageNum==1" (click)="btnClick(pageNum-1)">上一頁
      </button>
      <button ion-button  small [color]="color" [disabled]="pageNum==ceil(total/pageSize)"
              (click)="btnClick(pageNum+1)">下一頁
      </button>
      <button ion-button  small [color]="color" [disabled]="pageNum==ceil(total/pageSize)"
              (click)="btnClick(ceil(total/pageSize))">尾頁
      </button>
    </ion-col>
  </ion-row>
  <ion-row>
    <ion-col no-padding style="font-size: 12px">
      每頁顯示{{pageSize}}條數(shù)據(jù),共{{total}}條用踩,當(dāng)前為第{{pageNum}}頁推姻,共{{ceil(total/pageSize)}}頁
    </ion-col>
  </ion-row>
</ion-grid>

  • paging.ts完整代碼
import {Component, Input, Output, EventEmitter} from '@angular/core';
import { IonicPage} from 'ionic-angular';
import {PAGE_SIZE} from "../../providers/Constants";

/**
 * @name 自定義分頁組件
 * @description
 * @example <page-paging [total]="18" (pageNumChange)="doSearch($event)"></page-paging>
 * @example <page-paging [total]="total" (pageNumChange)="doSearch($event)" pageSize="10" color="dark"></page-paging>
 */
@IonicPage()
@Component({
  selector: 'page-paging',
  templateUrl: 'paging.html',
})
export class PagingPage {

  @Input()
  total:number;//共多少條數(shù)據(jù)

  @Input()
  pageSize:number=PAGE_SIZE;//每頁大小,默認5條

  @Input()
  color:string='primary';//主題顏色

  @Input() pageNum:number=1;//當(dāng)前第幾頁,默認1
  @Output() pageNumChange = new EventEmitter<any>();


  constructor() {
  }

  btnClick(pageNum){
    this.pageNum = pageNum;
    this.pageNumChange.emit(pageNum);
  }

  ceil(num){
    return Math.ceil(num);
  }

}

  • paging.module.ts完整代碼
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { PagingPage } from './paging';

@NgModule({
  declarations: [
    PagingPage,
  ],
  imports: [
    IonicPageModule.forChild(PagingPage),
  ],
  exports: [
    PagingPage
  ]
})
export class PagingPageModule {}

使用

  • 在需要用的模塊中導(dǎo)入PagingPageModule

  • .html

<page-paging [total]="18" (pageNumChange)="doSearch($event)"></page-paging>
  • .ts
 doSearch(pageNumber){
    console.log(pageNumber);
  }

最后

  • 覺得樣式丑的請自行修改pagination.html
  • 此文也展示了Angular自定義組件最常用的@Input()和 @Output()的用法,希望大家能舉一反三寫出更強大的組件
  • 更完整代碼在github
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末篇恒,一起剝皮案震驚了整個濱河市核偿,隨后出現(xiàn)的幾起案子敲董,更是在濱河造成了極大的恐慌空免,老刑警劉巖空另,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蹋砚,居然都是意外死亡扼菠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門坝咐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來循榆,“玉大人,你說我怎么就攤上這事墨坚⊙硪” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵框杜,是天一觀的道長浦楣。 經(jīng)常有香客問我,道長咪辱,這世上最難降的妖魔是什么振劳? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮油狂,結(jié)果婚禮上历恐,老公的妹妹穿的比我還像新娘寸癌。我一直安慰自己,他們只是感情好弱贼,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布蒸苇。 她就那樣靜靜地躺著,像睡著了一般吮旅。 火紅的嫁衣襯著肌膚如雪溪烤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天庇勃,我揣著相機與錄音檬嘀,去河邊找鬼。 笑死责嚷,一個胖子當(dāng)著我的面吹牛鸳兽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播罕拂,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼揍异,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了爆班?” 一聲冷哼從身側(cè)響起衷掷,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蛋济,沒想到半個月后棍鳖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡碗旅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年渡处,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祟辟。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡医瘫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出旧困,到底是詐尸還是另有隱情醇份,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布吼具,位于F島的核電站僚纷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拗盒。R本人自食惡果不足惜怖竭,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望陡蝇。 院中可真熱鬧痊臭,春花似錦哮肚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鸦致,卻和暖如春潮剪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蹋凝。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工鲁纠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鳍寂。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像情龄,于是被迫代替她去往敵國和親迄汛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容