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

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

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

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

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

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

我們的實現(xiàn)

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

看代碼:

分頁變動出發(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, // 只有一頁時是否隱藏分頁器
        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 變化才會回調(diào)

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

我們在使用分頁使,直接用表格()的自定義: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, // 默認當(dāng)前頁數(shù)
? ? ? ? defaultPageSize: 5, // 默認當(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ù)量時更新顯示
? ? ? ? onChange: (current, size) => {
? ? ? ? ? this.paginationOpt.defaultCurrent = current;
? ? ? ? ? this.paginationOpt.defaultPageSize = size;
? ? ? ? ? this.searchCameraFrom();
? ? ? ? },
? ? ? },

調(diào)用接口時,?一定要更新total值?。。。。?并在發(fā)送請求前結(jié)構(gòu)當(dāng)前頁和pagesize的值,否則一直時默認值1和5(我這邊初始時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é)

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

相關(guān)文章

最新評論

仲巴县| 镇远县| 宜阳县| 永善县| 泰来县| 嘉义市| 清远市| 甘肃省| 宣威市| 依兰县| 雅江县| 宽城| 恩平市| 平陆县| 宜春市| 长宁县| 万山特区| 瑞安市| 衡阳市| 勃利县| 永定县| 宁城县| 乐至县| 太仆寺旗| 永济市| 闵行区| 册亨县| 博客| 崇信县| 伽师县| 无为县| 桂平市| 中江县| 建昌县| 章丘市| 井冈山市| 凤凰县| 宁明县| 杭锦后旗| 天台县| 洪雅县|