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

React翻頁器的實現(xiàn)(包含前后端)

 更新時間:2021年08月06日 10:25:57   作者:xiaoff  
本文主要介紹了React翻頁器的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

前端

首先需要熟悉前端react中table中的屬性pagination

<Pagination onChange={onChange} total={50} />

<Table bordered columns={columns} rowKey={record => record.id} dataSource={dataSource}
       pagination={pagination}/>

其中pagination我們自己去實現(xiàn)的函數(shù),因為在react中只給出靜態(tài)樣例
我們可以去查看react文檔中,給的示例的是如下圖

 

其中提示我們函數(shù)的參數(shù)為current及pageSize
那么我們可以按照文檔中的提示去思考
是否可以給函數(shù)傳入當(dāng)前頁和每頁的最大數(shù)據(jù)量

按照上面的思路去設(shè)計與寫翻頁器的函數(shù)

const pagination = {
    showQuickJumper:true,
    showSizeChanger:[],
    total: this.example.total,
    defaultCurrent: this.example.page,
    current: this.example.page,
    pageSize: this.example.pageSize,
    hasNextPage: this.example.hasNextPage,
    onShowSizeChange: (current, size) => {
         // 每頁的最大數(shù)據(jù)量
        self.example.pageSize = size;
        // 當(dāng)前頁
        self.example.page = current;
        // 將兩個參數(shù)封裝在一個temple中
        let temple = {
            page : self.example.page,
            pageSize : self.example.pageSize
        };
        // 最終重新去請求函數(shù),將當(dāng)前頁與每頁的數(shù)據(jù)最大量傳入重新請求的參數(shù)
        self.onFetch(temple);
    },
    onChange(current, pageSize) {
        self.example.pageSize = pageSize;
        self.example.page = current;
        
        let temple = {
            page : self.data.search.page,
            pageSize : self.data.search.pageSize,
        };
        self.onFetch(temple);
    }
};

此刻我們已經(jīng)實現(xiàn)了翻頁器的前端的函數(shù)
那么就可以在table中的pagination中傳入pagination

后端(以java為例)

首先我們需要寫一條SQL

select id from stu limit ${(page - 1)*(pageSize)}, ${pageSize + 1}

解讀SQL,有人可能會問pageSize為什么會加1
因為例如

countSize是201 pageSize是20 你直接除結(jié)果是10 但是實際上需要的是11

我們后端可以使用mybatis-helper或者自己封裝PageList
最終可以將從數(shù)據(jù)庫中查出的數(shù)據(jù)放到PageList中,再返回給前端
前端會收到后端傳入的數(shù)據(jù)總數(shù)(total)每頁的最大數(shù)量(pageSize)

對于SQL傳參的問題

當(dāng)我們寫

SELECT
 id
FROM
 stu
LIMIT 1,10

查出的數(shù)據(jù)是 218 222 220 217 219 221 8 9 10 12
如果我們把1改成2,那么查出的數(shù)據(jù)為 222 220 217 219 221 8 9 10 12 14
這就是我們?yōu)槭裁丛趕ql里面寫的是(page - 1)*(pageSize)
因為當(dāng)limit傳入10,10的時候才能真正將數(shù)據(jù)刷新一遍
否則前端傳入page=2的時候,我們只在后端更新了一條數(shù)據(jù),而重疊了相當(dāng)于pageSize-1的數(shù)據(jù)量

注意

當(dāng)我們SQL寫成(page-1)的時候,前端的默認(rèn)頁一定要傳入的值從1開始,否則傳入0,就會出現(xiàn)負(fù)數(shù)
我們的后端就會產(chǎn)生報錯

關(guān)于如何優(yōu)化limit,可以參考我的另一篇文章「深究MySQL之select優(yōu)化

到此這篇關(guān)于React翻頁器的實現(xiàn)(包含前后端)的文章就介紹到這了,更多相關(guān)React翻頁器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • Redux?Toolkit的基本使用示例詳解(Redux工具包)

    Redux?Toolkit的基本使用示例詳解(Redux工具包)

    這篇文章主要介紹了Redux?Toolkit的基本使用,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • React實現(xiàn)路由鑒權(quán)的實例詳解

    React實現(xiàn)路由鑒權(quán)的實例詳解

    React應(yīng)用中的路由鑒權(quán)是確保用戶僅能訪問其授權(quán)頁面的方式,用于已登錄或具有訪問特定頁面所需的權(quán)限,這篇文章就來記錄下React實現(xiàn)路由鑒權(quán)的流程,需要的朋友可以參考下
    2024-07-07
  • React Native 使用Fetch發(fā)送網(wǎng)絡(luò)請求的示例代碼

    React Native 使用Fetch發(fā)送網(wǎng)絡(luò)請求的示例代碼

    本篇文章主要介紹了React Native 使用Fetch發(fā)送網(wǎng)絡(luò)請求的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • redux工作原理講解及使用方法

    redux工作原理講解及使用方法

    這篇文章主要介紹了redux工作原理講解及使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • React創(chuàng)建組件的三種方式及其區(qū)別是什么

    React創(chuàng)建組件的三種方式及其區(qū)別是什么

    在React中,創(chuàng)建組件的三種主要方式是函數(shù)式組件、類組件和使用React Hooks的函數(shù)式組件,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2023-08-08
  • 一文帶你了解React中的函數(shù)組件

    一文帶你了解React中的函數(shù)組件

    函數(shù)式組件的基本意義就是,組件實際上是一個函數(shù),不是類,下面這篇文章主要給大家介紹了關(guān)于React中函數(shù)組件的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • React?組件權(quán)限控制的實現(xiàn)

    React?組件權(quán)限控制的實現(xiàn)

    本文主要介紹了React?組件權(quán)限控制的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • reactjs學(xué)習(xí)解決unknown at rule @tailwind css問題

    reactjs學(xué)習(xí)解決unknown at rule @tailwind css

    這篇文章主要介紹了reactjs學(xué)習(xí)解決unknown at rule @tailwind css問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • React-vscode使用jsx語法的問題及解決方法

    React-vscode使用jsx語法的問題及解決方法

    很多朋友在安裝插件ES7 React/Redux/GraphQL/React-Native snippets還是不能完全支持jsx語法,糾結(jié)是什么原因呢,該如何處理呢,下面小編給大家分享本文幫助大家解決React-vscode使用jsx語法問題,感興趣的朋友一起看看吧
    2021-06-06
  • React中redux的使用詳解

    React中redux的使用詳解

    Redux 是一個狀態(tài)管理庫,它可以幫助你管理應(yīng)用程序中的所有狀態(tài),Redux的核心概念之一是Store,它表示整個應(yīng)用程序的狀態(tài),這篇文章給大家介紹React中redux的使用,感興趣的朋友一起看看吧
    2023-12-12

最新評論

靖远县| 屏东县| 黎平县| 商都县| 通河县| 阳新县| 栖霞市| 南靖县| 嘉善县| 宁武县| 左权县| 谢通门县| 离岛区| 惠安县| 自治县| 邻水| 石首市| 怀宁县| 南昌县| 赤城县| 万源市| 新绛县| 永寿县| 诸城市| 察哈| 柳江县| 肃宁县| 义马市| 无极县| 太湖县| 南漳县| 富源县| 黄浦区| 瑞丽市| 满洲里市| 慈利县| 新巴尔虎右旗| 临西县| 铁岭县| 虹口区| 德安县|