Element-React Pagination 分頁(yè)

2020-10-16 11:50 更新

當(dāng)數(shù)據(jù)量過(guò)多時(shí),使用分頁(yè)分解數(shù)據(jù)。

基礎(chǔ)用法

設(shè)置layout,表示需要顯示的內(nèi)容,用逗號(hào)分隔,布局元素會(huì)依次顯示。prev表示上一頁(yè),next為上一頁(yè),pager表示頁(yè)碼列表,除此以外還提供了jumpertotal,size和特殊的布局符號(hào)->,->后的元素會(huì)靠右顯示,jumper表示跳頁(yè)元素,total表示顯示頁(yè)碼總數(shù),size用于設(shè)置每頁(yè)顯示的頁(yè)碼數(shù)量。

render() {
  return (
    <div className="first">
      <div className="block">
        <span className="demonstration">頁(yè)數(shù)較少時(shí)的效果</span>
        <Pagination layout="prev, pager, next" total={50}/>
      </div>
      <div className="block">
        <span className="demonstration">大于 7 頁(yè)時(shí)的效果</span>
        <Pagination layout="prev, pager, next" total={1000}/>
      </div>
    </div>
  )
}

小型分頁(yè)

在空間有限的情況下,可以使用簡(jiǎn)單的小型分頁(yè)。

它接受一個(gè)Boolean,默認(rèn)為false,設(shè)為true即可啟用。

render() {
  return <Pagination layout="prev, pager, next" total={50} small={true}/>
}

附加功能

根據(jù)場(chǎng)景需要,可以添加其他功能模塊。

此例是一個(gè)完整的用例,使用了size-changecurrent-change事件來(lái)處理頁(yè)碼大小和當(dāng)前頁(yè)變動(dòng)時(shí)候觸發(fā)的事件。page-sizes接受一個(gè)整型數(shù)組,數(shù)組元素為展示的選擇每頁(yè)顯示個(gè)數(shù)的選項(xiàng),[100, 200, 300, 400]表示四個(gè)選項(xiàng),每頁(yè)顯示 100 個(gè),200 個(gè),300 個(gè)或者 400 個(gè)。

render() {
  return (
    <div className="last">
      <div className="block">
        <span className="demonstration">顯示總數(shù)</span>
        <Pagination layout="total, prev, pager, next" total={1000}/>
      </div>
      <div className="block">
        <span className="demonstration">調(diào)整每頁(yè)顯示條數(shù)</span>
        <Pagination layout="sizes, prev, pager, next" total={1000} pageSizes={[100, 200, 300, 400]} pageSize={1000}/>
      </div>
      <div className="block">
        <span className="demonstration">直接前往</span>
        <Pagination layout="prev, pager, next, jumper" total={1000} pageSize={100} currentPage={5}/>
      </div>
      <div className="block">
        <span className="demonstration">完整功能</span>
        <Pagination layout="total, sizes, prev, pager, next, jumper" total={400} pageSizes={[100, 200, 300, 400]} pageSize={100} currentPage={5}/>
      </div>
    </div>
  )
}

Attributes

參數(shù) 說(shuō)明 類(lèi)型 可選值 默認(rèn)值
small 是否使用小型分頁(yè)樣式 Boolean false
pageSize 每頁(yè)顯示條目個(gè)數(shù) Number 10
total 總條目數(shù) Number -
pageCount 總頁(yè)數(shù),total 和 pageCount 設(shè)置任意一個(gè)就可以達(dá)到顯示頁(yè)碼的功能;如果要支持 pageSizes 的更改,則需要使用 total 屬性 Number -
currentPage 當(dāng)前頁(yè)數(shù) Number 1
layout 組件布局,子組件名用逗號(hào)分隔 String sizesprevpagernextjumper->total 'prev, pager, next, jumper, ->, total'
pageSizes 每頁(yè)顯示個(gè)數(shù)選擇器的選項(xiàng)設(shè)置 Number[] [10, 20, 30, 40, 50, 100]

Events

事件名稱(chēng) 說(shuō)明 回調(diào)參數(shù)
onSizeChange pageSize 改變時(shí)會(huì)觸發(fā) 每頁(yè)條數(shù)size
onCurrentChange currentPage 改變時(shí)會(huì)觸發(fā) 當(dāng)前頁(yè)currentPage
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)