http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 6720|回复: 4

[vue.js] vue.js写的分页类和效果asp.net

[复制链接]
发表于 2019-1-23 20:20:50 | 显示全部楼层 |阅读模式
vue.js写的分页类和效果
先看看效果
QQ截图20190123201558.png


JS插件

[JavaScript] 纯文本查看 复制代码
/**
 * 用于分页的JS文件,必须在引用vue.js文件后才可引入本文件
 * 编码人:苏飞
 * 编码时间:2019-01-21
 * */

//当前页
Vue.prototype.pageIndex = 0;
//总行数
Vue.prototype.totalcount = 0;
//每页行数
Vue.prototype.pageSize = 0;
//总页数
Vue.prototype.pageCount = 0;

//更新分页数据  总行数,每页行数,当前页
Vue.prototype.setpage = function (totalcount, pagesize, pageindex) {
    this.pageCount = Math.ceil(totalcount / pagesize);
    this.totalcount = totalcount;
    this.pageSize = pagesize;
    this.pageIndex = pageindex;
};

//清理分页数据
Vue.prototype.clear = function () {
    //当前页
    this.pageIndex = 0;
    //总行数
    this.totalcount = 0;
    //总页数
    this.pageCount = 0;
    //每页行数
    this.pageSize = 0;
};

//分页显示数量动态加载方法
Vue.prototype.indexs = function () {
    //开始页
    var left = 1;
    //结束页
    var right = this.pageCount;
    //在显示的页码数组
    var ar = [];
    if (this.pageCount >= 10) {
        if (this.pageIndex > 6 && this.pageIndex < this.pageCount - 4) {
            left = this.pageIndex - 5
            right = this.pageIndex + 4
        } else {
            if (this.pageIndex <= 6) {
                left = 1
                right = 10
            } else {
                right = this.pageCount
                left = this.pageCount - 8
            }
        }
    }
    while (left <= right) {
        ar.push(left)
        left++
    }
    return ar
};


在页面上直接设置两个参数就行了
[JavaScript] 纯文本查看 复制代码
  //设置分页的数据三个参数为:1总行数据,2每页多少行,3当前要显示的页码
                            rw.setpage(info.TotalCount, info.pageSize, info.pageIndex);


然后就是又增加了一个清空数据的方法
[JavaScript] 纯文本查看 复制代码
  //清理分页数据
        rw.clear();

最后大家看一下引用的控件

[HTML] 纯文本查看 复制代码
  <div class="pagination-wrap">
                                    <div class="count">
                                        <div>
                                            总页数 {{ pageCount}}    总记录数 {{ totalcount}}
                                        </div>
                                    </div>
                                    <ul class="pagination" v-if="pageCount > 1">
                                        <li v-if="pageIndex>1"><a class="acursor" href="javascripit:void(0)" v-on:click="getdata(1)">
                                            首页</a></li>
                                        <li v-if="pageIndex>1"><a class="acursor" v-on:click="pageIndex--,getdata(pageIndex)">
                                            上一页</a></li>
                                        <li v-for="n in indexs" v-bind:class="pageIndex === n ? 'cur':''"><a class="acursor"
                                            v-on:click="getdata(n)">{{ n }}</a> </li>
                                        <li v-if="pageIndex!=pageCount"><a class="acursor" v-on:click="pageIndex++,getdata(pageIndex)">
                                            下一页</a></li>
                                        <li v-if="pageIndex!=pageCount"><a class="acursor" v-on:click="getdata(pageCount)">
                                            尾页</a></li>
                                    </ul>
                                </div>

把以上代码做成一个控件,每个需要分页的页面直接调用 就行了。
只需要将绑定数据的方法修改一下即可
[JavaScript] 纯文本查看 复制代码
getdata(pageIndex)



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2019-1-24 09:41:38 | 显示全部楼层
强烈支持楼主ing……
发表于 2019-1-24 10:25:52 | 显示全部楼层
强烈支持楼主ing……
发表于 2019-1-24 17:02:55 | 显示全部楼层
激动人心,无法言表!
发表于 2019-1-24 17:36:42 | 显示全部楼层
我只是路过打酱油的。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 08:22

© 2014-2021

快速回复 返回顶部 返回列表