關於若依前端分頁首次使用BootstrapPager 即bootstrap擴展插件


本文分頁采用插件托管地址:

https://gitee.com/hylun/BootstrapPager?_from=gitee_search

強調,本插件是從bootstrap3 基礎之上開始的,我采用bootstrap4,所以要選擇

https://gitee.com/xuzhanga/BootstrapPager/blob/master/test/demo2.html

 

 1:下載后引入 分頁插件,(如在<head>頭部

<script src="../../ibaiqi.js/bootstrapPager.js"></script>

 2:后端,采用是若依封裝返回JSON的方法如下

 /**
     * 查詢文章列表
     * @param article
     * @return
     */
    @GetMapping("/list")
    @ApiOperation(value = "article文章列表")
    public TableDataInfo list(BlogsArticle article){
        startPage();
        List<BlogsArticle> blogsArticles = iBlogsArticleService.selectBlogsArticleList(article);
        return getDataTable(blogsArticles);
    }

 

3:用postMan請求,帶上第一頁,每頁顯示3條數據,看返回接口數據是否正確如下

 

 4:先用jquery的.get()測試是否和postMan返回一致

<script type="text/javascript">
	let currentPage = 1;  //當前頁碼,即第幾頁
	let pageSize = 5;   //每頁顯示多少條
	//返回文章列表
	function articleList() {
		$.get(
			baseHref += "/api/v1/blogs/article/list", { //分頁參數傳遞,即可分頁			
				pageNum: currentPage,
				pageSize: pageSize,
			},
			function(articles) {
				var articleResV = "<ul>" //拼接返回文章列表
				$.each(articles.rows, function(i, article) {
					// console.log("article.articleTitle: ",article.articleTitle);
					articleResV += "<li><a href='../../views/blogs/article.html' title=" + article.articleTitle + ">" +
						subStrLength(
							article.articleTitle, 60) + "</a>"
					articleResV += "<div><span>熱點</span>:" + subStrLength(article.createBy, 50) + "</div></li>"
				})
				articleResV += "</ul>"
				//把文章返回,掛載到節點上
				$("#articleList").append(articleResV) 
				
			},
			"json"
		)
	}
	
</script>

 4:若依接供接口 bootstrap4 下此分頁

<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>稅聞列表</title>
        <link rel="stylesheet" href="../../bootstrap-4.6.0-dist/css/bootstrap.min.css">
        <link rel="stylesheet" href="../../ibaiqi.css/style.css">
        <script src="../../ibaiqi.js/ibaiqi.public.js"></script>
        <script src="../../ibaiqi.js/jquery-3.5.1.js"></script>
        <script src="../../bootstrap-4.6.0-dist/js/bootstrap.bundle.js"></script>

    </head>
    <body>
        <script src="../../ibaiqi.js/bootstrapPager.js"></script>
        <!-- 引入header.html -->
        <div id="ib_header">header 引入后被替換</div>
        <!-- 文章列表 -->
        <div class="container">
            <div id="articleList">文章列表掛載點</div>
            <div id="pageInfoV">分頁頁碼掛載點</div>
        </div>
        
    </body>
</html>



<script type="text/javascript">
    $("#ib_header").load("../header.html")
    document.body.onload = function() {
        articleList() //顯示文章列表,等待完善
    }
</script>
<script type="text/javascript">
    // 不調用此函數,Pager.getParam('page') 會提示不是函數
    Pager({
        totalCount: 11, //總條數為150,        
    })


    // let currentPage = 1;  //當前頁碼,即第幾頁
    // let pageSize = 5;   //每頁顯示多少條
    /* 
     以上兩行修改如下----------------begin
     */
    let currentPage = ""; //選擇當前是第幾頁
    if (Pager.getParam('page') > 1) {
        currentPage = Pager.getParam('page')
    } else {
        currentPage = 1
    }
    console.log("當前要請求頁碼為***********:" + currentPage)

    let pageSize = 5;
    /*
     以上兩行修改如下--------------------end
     */

    //返回文章列表
    function articleList() {
        $.get(
            baseHref += "/api/v1/blogs/article/list", { //分頁參數傳遞,即可分頁            
                pageNum: currentPage,
                pageSize: pageSize,
            },
            function(articles) {
                var articleResV = "<ul>" //拼接返回文章列表
                $.each(articles.rows, function(i, article) {
                    // console.log("article.articleTitle: ",article.articleTitle);
                    articleResV += "<li><a href='../../views/blogs/article.html' title=" + article.articleTitle + ">" +
                        subStrLength(
                            article.articleTitle, 60) + "</a>"
                    articleResV += "<div><span>熱點</span>:" + subStrLength(article.createBy, 50) + "</div></li>"
                })
                articleResV += "</ul>"

                //把文章返回,掛載到節點上
                $("#articleList").html(articleResV)

                //准備把頁碼寫到引出

                var pageInfo = Pager({
                    totalCount: articles.total, //總條數為150
                    pageSize: pageSize, //每頁顯示6條內容,默認10
                    className: 'pagination', //分頁的樣式
                    prevButton: '上一頁', //上一頁按鈕
                    nextButton: '下一頁', //下一頁按鈕
                    firstButton: '首頁', //第一頁按鈕
                    lastButton: '末頁', //最后一頁按鈕

                })
                $("#pageInfoV").html(pageInfo)
            },
            "json"
        )
    }
</script>

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM