element-ui封裝分頁組件:實現首頁、上一頁、下一頁、末頁、跳轉按鈕

在這里插入圖片描述

首頁、上一頁、下一頁、末頁、跳轉按鈕

  1. 因為el-pagination只有一個插槽,所以通過兩個el-pagination插槽分別加入首頁、末頁按鈕,再拼接這兩個el-pagination的方式來實現首頁、末頁按鈕
  2. 跳轉按鈕不用加事件,如果el-pagination修改了前往的頁數,失焦時會觸發current-change事件,造成了一種似乎是點擊按鈕跳轉的效果(實際上點擊其他地方失焦也會觸發current-change事件)
<template><div class="pagination"><el-paginationprev-text="上一頁"next-text="下一頁"@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="tableParams.pageNum":page-sizes="[20, 30, 40]":page-size="tableParams.pageSize"layout="total, sizes, slot, prev, pager, next":total="tableParams.total"><buttontype="button"class="btn-prev"@click="jumpFirstPage":disabled="isFirstPage"><span>首頁</span></button></el-pagination><el-paginationprev-text="上一頁"next-text="下一頁"@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="tableParams.pageNum":page-sizes="[20, 30, 40]":page-size="tableParams.pageSize"layout="slot, jumper":total="tableParams.total"><buttontype="button"class="btn-prev"@click="jumpLastPage":disabled="isLastPage"><span>末頁</span></button></el-pagination><el-buttontype="primary"size="mini"class="ml">前往</el-button></div>
</template>
<script>
export default {props: {tableParams: {type: Object,},},computed: {isFirstPage() {// 如果只有1頁,禁用首頁return this.tableParams.pageNum === 1;},isLastPage() {return (// 如果只有1頁,禁用末頁,或者已經處于末頁,禁用Math.ceil(this.tableParams.total / this.tableParams.pageSize) === 0 ||this.tableParams.pageNum ===Math.ceil(this.tableParams.total / this.tableParams.pageSize));},},methods: {handleSizeChange(val) {this.$emit('size-change', val);},handleCurrentChange(val) {this.$emit('current-change', val);},jumpFirstPage() {this.handleCurrentChange(1);},jumpLastPage() {this.handleCurrentChange(Math.ceil(this.tableParams.total / this.tableParams.pageSize));},},
};
</script>
<style lang="scss" scoped>
.pagination {padding: 6px;border: 1px solid #c0eae7;border-top: 0px;display: flex;justify-content: flex-end;align-items: center;border-radius: 4px;border-top-left-radius: 0px;border-top-right-radius: 0px;
}
:deep(.el-button--mini) {padding: 5px 15px;height: 24.22px;margin-left: 10px;
}
</style>

使用

   <Pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":tableParams="tableParams"></Pagination>

組件默認pageNum 從1開始,如果接口是從0開始,傳參時-1即可

 tableParams: {pageNum: 1,pageSize: 30,total: 0,},
  handleSizeChange(val) {// 條數變更后如果pageNum不變可能會導致查詢為空,所以還原為1this.tableParams.pageNum = 1;this.tableParams.pageSize = val;this.getTableData();},handleCurrentChange(val) {this.tableParams.pageNum = val;this.getTableData();},
 async getTableData() {this.tableData = [];this.tableLoading++;const { data: res } = await http({method: 'get',url: '/show/listData',data: {},params: {pageIndex: this.tableParams.pageNum,pageSize: this.tableParams.pageSize,},});if (res.code === 0) {this.tableData = res.data;this.tableParams.total = res.total;}this.tableLoading--;},

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43924.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43924.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43924.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【work】AI八股-神經網絡相關

Deep-Learning-Interview-Book/docs/深度學習.md at master amusi/Deep-Learning-Interview-Book GitHub 網上相關總結&#xff1a; 小菜雞寫一寫基礎深度學習的問題&#xff08;復制大佬的&#xff0c;自己復習用&#xff09; - 知乎 (zhihu.com) CV面試問題準備持續更新貼 …

VOI(Virtual Operating System Infrastructure,虛擬操作系統基礎架構)

VOI&#xff08;Virtual Operating System Infrastructure&#xff0c;虛擬操作系統基礎架構&#xff09;架構在桌面虛擬化領域具有其獨特的優勢&#xff0c;使得它在某些場景下表現尤為出色。以下是幾個具體場景&#xff1a; 1. 重載性能需求場景 表現&#xff1a; 高效利用…

聚類分析方法(二)

目錄 三、層次聚類方法&#xff08;一&#xff09;層次聚類策略&#xff08;二&#xff09;AGNES算法&#xff08;三&#xff09;DIANA算法 四、密度聚類方法&#xff08;一&#xff09;基本概念&#xff08;二&#xff09;算法描述&#xff08;三&#xff09;計算實例&#xf…

Google賬號輸入用戶名和密碼后提醒要到手機通知點是,還要點擊數字,但是我手機收不到

有一些朋友換了一個新的電腦后手機登錄谷歌賬號時&#xff0c;用戶名和密碼都正確輸入以后&#xff0c;第三步彈出一個提示&#xff0c;要在手機上的通知欄點擊是&#xff0c;并且點擊手機上相應的數字才能繼續登錄。 但是自己的手機上下拉通知欄卻沒有來自谷歌的通知&#xf…

ADOQuery 查詢MSSQL存儲過程一個莫名其妙的錯誤;

在 SSMS 中執行完成正常的的存儲過程。 也能正常的返回想要的數據&#xff0c;&#xff0c;然后通過 ADO 查詢時&#xff0c;總是提法 某 字段不存在的問題&#xff1b; 此問題困擾了一天。 例如&#xff08;當然&#xff0c;實際數據結構比下面舉例的復雜&#xff09;&…

C++八股(二)之C++11新特性

一、C++11有什么新特性?? 自動類型推導(Type Inference):引入了 auto 關鍵字,允許編譯器根據初始化表達式的類型自動推導變量的類型。統一的初始化語法(Uniform Initialization Syntax):引入了用花括號 {} 進行初始化的統一語法,可以用于初始化各種類型的對象,包括基…

符號同步、定時同步和載波同步

符號同步、定時同步和載波同步是通信系統中重要的同步技術&#xff0c;它們各自承擔著不同的功能和作用。以下是對這三種同步技術的詳細解釋&#xff1a; 符號同步 定義&#xff1a; 符號同步&#xff0c;也稱為定時恢復或時鐘恢復&#xff0c;是指在數字通信系統中&#xff…

繼承關系中的訪問控制

繼承關系中的訪問控制 類中成員的訪問權限類繼承中的訪問權限派生類向基類轉換的權限問題&#xff08;向上轉型&#xff09;友元在繼承中的訪問權限 類中成員的訪問權限 public&#xff1a;類的對象&#xff08;外部&#xff09;可以訪問&#xff0c;派生類也可以訪問protecte…

LeNet原理及代碼實現

目錄 1.原理及介紹 2.代碼實現 2.1model.py 2.2model_train.py 2.3model.test.py 1.原理及介紹 2.代碼實現 2.1model.py import torch from torch import nn from torchsummary import summaryclass LeNet(nn.Module):def __init__(self):super(LeNet, self).__init__…

nuxt、vue樹形圖d3.js

直接上代碼 //安裝 npm i d3 --save<template><div class"d3"><div :id"id" class"d3-content"></div></div> </template> <script> import * as d3 from "d3";export default {props: {d…

Github Actions 構建Vue3 + Vite項目

本篇文章以自己創建的項目為例&#xff0c;用Github Actions構建。 Github地址&#xff1a;https://github.com/ling08140814/myCarousel 訪問地址&#xff1a;https://ling08140814.github.io/myCarousel/ 具體步驟&#xff1a; 1、創建一個Vue3的項目&#xff0c;并完成代…

接口基礎知識1:認識接口

課程大綱 一、定義 接口&#xff1a;外部與系統之間、內部各子系統之間的交互點。 比如日常使用的電腦&#xff0c;有電源接口、usb接口、耳機接口、顯示器接口等&#xff0c;分別可以實現&#xff1a;與外部的充電、文件數據傳輸、聲音輸入輸出、圖像輸入輸出等功能。 接口的本…

262個地級市-市場潛力指數(do文件+原始文件)

全國262個地級市-市場潛力指數&#xff08;市場潛力計算方法代碼數據&#xff09;_市場潛力數據分析資源-CSDN文庫 市場潛力指數&#xff1a;洞察未來發展的指南針 市場潛力指數是一個綜合性的評估工具&#xff0c;它通過深入分析市場需求、競爭環境、政策支持和技術創新等多個…

面向字節流傳輸數據

當提到“傳輸數據面向字節流”&#xff0c;這是指在網絡通信中&#xff0c;數據被視作一連串的無結構字節&#xff0c;而不是按照特定的數據塊或記錄進行傳輸。這種傳輸方式是面向傳輸層協議&#xff08;如TCP&#xff09;的一個特性&#xff0c;它允許數據以連續的字節流形式在…

phpstudy框架,window平臺,如何開端口給局域網訪問?

Windows平臺上使用phpstudy框架開端口給同事訪問&#xff0c;主要涉及到幾個步驟&#xff1a;查看并確認本機IP地址、配置phpstudy及網站項目、開放防火墻端口以及確保同事能夠通過局域網訪問。以下是詳細的步驟說明&#xff1a; 1. 查看并確認本機IP地址 首先&#xff0c;需…

SQLAlchemy pool_pre_ping

pool_pre_ping 是 SQLAlchemy 中 create_engine 函數的一個參數&#xff0c;它用于配置連接池的行為。當設置為 True 時&#xff0c;pool_pre_ping 啟用了連接池在每次從池中取出&#xff08;即“簽出”或“checkout”&#xff09;連接之前&#xff0c;先測試該連接是否仍然活躍…

(2)滑動窗口算法練習:無重復字符的最長子串

無重復字符的最長子串 題目鏈接&#xff1a;3. 無重復字符的最長子串 - 力扣&#xff08;LeetCode&#xff09; 給定一個字符串 s &#xff0c;請你找出其中不含有重復字符的最長子串的長度。 輸入: s "abcabcbb" 輸出: 3 解釋: 因為無重復字符的最長子串是"a…

mov視頻怎么改成mp4?把mov改成MP4的四個方法

mov視頻怎么改成mp4&#xff1f;選擇合適的視頻格式對于確保內容質量和流通性至關重要。盡管蘋果公司的mov格式因其出色的視頻表現備受贊譽&#xff0c;但在某些情況下&#xff0c;它并非最佳選擇&#xff0c;因為使用mov格式可能面臨一些挑戰。MP4格式在各種設備&#xff08;如…

構造二進制字符串

目錄 LeetCode3221 生成不含相鄰零的二進制字符串 #include <iostream> #include <vector> using namespace std;void dfs(string s,int n,vector<string>& res){if(s.size()n){res.push_back(s);return;}dfs(s"0",n,res);dfs(s"1"…

使用redis進行短信登錄驗證(驗證碼打印在控制臺)

使用redis進行短信登錄驗證 一、流程1. 總體流程圖2. 流程文字講解&#xff1a;3.代碼3.1 UserServiceImpl&#xff1a;&#xff08;難點&#xff09;3.2 攔截器LoginInterceptor&#xff1a;3.3 攔截器配置類&#xff1a; 4 功能實現&#xff0c;成功存入redis &#xff08;黑…