关于若依前端分页首次使用BootstrapPager 即bootstrap扩展插件

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

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

强调,本插件是从bootstrap3 基础之上开始的,我采用bootstrap4,所以要选择

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

 

 1:下载后引入 分页插件,(如在<head>头部

1
<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返回一致

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<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>
复制代码

 



posted @   码哥之旅  阅读(1706)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2020-02-18 maven 听视频笔记
2020-02-18 idea如何做到多模块开发项目 收藏整理
2020-02-18 <packaging>pom</packaging>是什么意思
点击右上角即可分享
微信分享提示