zoukankan      html  css  js  c++  java
  • 关于若依前端分页首次使用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>



    做产品的程序,才是好的程序员!
  • 相关阅读:
    php实现题目抢答、商品秒杀等类型的需求
    php实现批量修改文件名称
    php微信支付问题之 cURL error 60: SSL certificate: unable to get local issuer certificate
    laravel5.2之logout注销账号无效
    分布式版本控制git常见问题之gitignore冲突(精简版)
    laravel实现多数据库连接配置
    laravel实现excel表格导出
    js实现超出一定字数隐藏并用省略号"..."代替,点击后又可进行展开和收起,
    你会python不?当你听到这个问题要谨慎回答!!!
    DirectX 入门1-初识DirectX Tool Kit
  • 原文地址:https://www.cnblogs.com/asplover/p/14412852.html
Copyright © 2011-2022 走看看