最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ant-design-vue Table pagination分頁實(shí)現(xiàn)全過程

 更新時(shí)間:2023年04月20日 09:56:48   作者:字節(jié)叔叔  
這篇文章主要介紹了ant-design-vue Table pagination分頁實(shí)現(xiàn)全過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

ant-design-vue Table pagination分頁實(shí)現(xiàn)

ant-design-vue Table自帶分頁的問題

表格單獨(dú)使用時(shí),自帶簡單分頁,只包含 上一頁, 頁面碼, 下一頁,例如:

我們的實(shí)現(xiàn)

但如果想要與后端配合著寫,則需要傳入pagination參數(shù)來自定義,

看代碼:

分頁變動(dòng)出發(fā)handleTableChange事件:

<a-table
          :columns="columns"
          :data-source="wmsWarehouseList"
          :pagination="pagination"
          @change="handleTableChange"
          :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
        >
data () {
    return {
      // 分頁參數(shù)
      pagination: {
        // size: 'large',
        current: 1,
        pageSize: 10,
        total: 0,
        pageSizeOptions: ['10', '20', '30'], // 可選的頁面顯示條數(shù)
        showTotal: (total, range) => {
          return range[0] + '-' + range[1] + ' 共' + total + '條'
        }, // 展示每頁第幾條至第幾條和總數(shù)
        hideOnSinglePage: false, // 只有一頁時(shí)是否隱藏分頁器
        showQuickJumper: true, // 是否可以快速跳轉(zhuǎn)至某頁
        showSizeChanger: true // 是否可以改變pageSize
      },
  }
}
methods: {
    handleTableChange (e) {
      console.log(e)
      this.pagination = e
      this.loading = true
      const pageNum = e.current - 1
      const pageSize = e.pageSize
      const query = {
        ...this.queryParams,
      }
      const pageReq = { page: pageNum, size: pageSize }
      listWmsWarehouse(query, pageReq).then((response) => {
        
      })
    },

onChange與onShowSizeChange 比較

  • onChange:頁碼改變的回調(diào),參數(shù)是改變后的頁碼及每頁條數(shù)
  • onShowSizeChange :只有pageSize 變化才會(huì)回調(diào)

Ant Design Vue 如何分頁(后臺(tái)傳入)

我們在使用分頁使,直接用表格()的自定義:pagination屬性最方便;如下圖所示:

? ? ? ?<a-table
? ? ? ? ?ref="table"
? ? ? ? ? style="margin-bottom: 24px"
? ? ? ? ? row-key="key"
? ? ? ? ? :columns="goodsColumns"
? ? ? ? ? :data-source="loadGoodsData"
? ? ? ? ? :pagination="paginationOpt"
? ? ? ? ? bordered>
? ? ? ? </a-table>

基于VUE,我們必須在data中定義paginationOpt對象,代碼片段如下:

// 分頁
? ? ? paginationOpt: {
? ? ? ? defaultCurrent: 1, // 默認(rèn)當(dāng)前頁數(shù)
? ? ? ? defaultPageSize: 5, // 默認(rèn)當(dāng)前頁顯示數(shù)據(jù)的大小
? ? ? ? total: 0, // 總數(shù),必須先有
? ? ? ? showSizeChanger: true,
? ? ? ? showQuickJumper: true,
? ? ? ? pageSizeOptions: ["5", "10", "15", "20"],
? ? ? ? showTotal: (total) => `共 ${total} 條`, // 顯示總數(shù)
? ? ? ? onShowSizeChange: (current, pageSize) => {
? ? ? ? ? this.paginationOpt.defaultCurrent = 1;
? ? ? ? ? this.paginationOpt.defaultPageSize = pageSize;
? ? ? ? ? this.searchCameraFrom(); //顯示列表的接口名稱
? ? ? ? },
? ? ? ? // 改變每頁數(shù)量時(shí)更新顯示
? ? ? ? onChange: (current, size) => {
? ? ? ? ? this.paginationOpt.defaultCurrent = current;
? ? ? ? ? this.paginationOpt.defaultPageSize = size;
? ? ? ? ? this.searchCameraFrom();
? ? ? ? },
? ? ? },

調(diào)用接口時(shí),?一定要更新total值!?。。?!?并在發(fā)送請求前結(jié)構(gòu)當(dāng)前頁和pagesize的值,否則一直時(shí)默認(rèn)值1和5(我這邊初始時(shí)1和5,可自己更改)

? ? // 查詢
? ? searchCameraFrom() {
? ? ? console.log(this.cameraParams);
? ? ? const { defaultCurrent, defaultPageSize } = this.paginationOpt;
?
? ? ? this.$api.Camera.getCameraList({
? ? ? ? currPage: defaultCurrent,
? ? ? ? pageSize: defaultPageSize,
? ? ? ? info: this.cameraParams,
? ? ? })
? ? ? ? .then((res) => {
? ? ? ? ? if (res.code != "200") {
? ? ? ? ? ? return Promise.reject;
? ? ? ? ? }
? ? ? ? ? console.log(res);
? ? ? ? ? this.cameraList = res.data;
? ? ? ? ? this.paginationOpt.total = res.total;
? ? ? ? })
? ? ? ? .catch(() => {});
? ? },

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

射洪县| 咸丰县| 米脂县| 饶平县| 霸州市| 建瓯市| 凤冈县| 察哈| 江门市| 黔西县| 河池市| 班玛县| 临洮县| 金昌市| 锡林郭勒盟| 吉木萨尔县| 大新县| 常山县| 西充县| 凯里市| 儋州市| 中宁县| 手游| 佛冈县| 马山县| 黄冈市| 托里县| 长乐市| 浦北县| 驻马店市| 枝江市| 通道| 桦甸市| 信丰县| 行唐县| 稷山县| 鸡西市| 齐齐哈尔市| 钟祥市| 西乌| 合肥市|