vue纯前端分页_基于vue的表格组件

vue纯前端分页_基于vue的表格组件vue分页组件(比上一版本好看一些),贴代码vue-page.js代码如下varvuePage={ template:’<divclass="page-bar"id="pager">\ <spanclass="form-inline">\ <selectclass="form-control"v-model=&a

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

之前写了一篇,是简单分页,地址如下

点击打开链接

https://blog.csdn.net/qq_33212500/article/details/80422148

vue 分页组件(比上一版本好看一些),贴代码

vue-page.js

代码如下

var vuePage = {
	template:'<div class="page-bar" id="pager">\
	    <span class="form-inline">\
	        <select class="form-control" v-model="pagesize" number>\
	            <option v-for="item in pagerData.page.arrPageSize" :value="item">{
  
  {item}}</option>\
	        </select>\
	    </span>\
	    <span class="btn btn-default" v-on:click="btnClick(1)">首页</span>\
	    <span class="btn btn-default" v-on:click="btnClick(Number(pageCurrent)-1)">上一页</span>\
		<span class="form-inline">第\
	    <input class="form-control" style="width:60px;text-align:center" v-model="pageCurrent" type="text" v-on:click="getMypageCurrent" v-on:blur="yzPage" v-on:keyup.enter="yzPage();btnClick(pageCurrent)" />\
		页</span>\
		<span>,共{
  
  {pagerData.page.pages}}页</span>\
	    <span class="btn btn-default" v-on:click="btnClick(Number(pageCurrent)+1)">下一页</span>\
	    <span class="btn btn-default" v-on:click="btnClick(pagerData.page.pages)">尾页</span>\
		<span>共{
  
  {pagerData.page.total}}条数据</span>\
	</div>',
	data:function(){
		return{
			mypagesize:10,
			mypageCurrent:1,//当前页
			sortparam:"",
			sorttype:1
		}
	},
	props: {
		pagerData:{
			default:function(){
				return{
					page:{
						//分页大小
						//pageSize:10,
						//分页数
						//arrPageSize:[10,20,30,40],
						//当前页面
						//pageNum:1,
						//总分页数
						//pages:0,
						//记录总数
						//total:0
					}
				}
			}
			
		},
		callback: {
	        default: function() {
	             return function callback() {
	                 // todo
	             }
	         }
	     }
	},
	methods:{
		 btnClick:function(page) {
			 if(page<=0){
				 page = 1;
			 }else if(page>this.pagerData.page.pages){
				 page = this.pagerData.page.pages;
			 }
			 this.pagerData.page.pageNum = page;
             if (page != this.pagenum) {
                 this.callback(page)
             }
         },
         yzPage:function(){
        	 if(/^[1-9]\d*$/.test(this.pageCurrent)==false){
        		 this.pageCurrent =this.mypageCurrent;
        		 //this.pagerData.page.pageNum = this.mypageCurrent;
        	 }else{
        		 if((Number(this.pageCurrent)<=0)||(Number(this.pageCurrent)>this.pagerData.page.pages)){
        			 this.pageCurrent =this.mypageCurrent;
        			 //this.pagerData.page.pageNum = this.mypageCurrent;
        		 }
        	 }
        	
         },
         getMypageCurrent:function(){
        	this.mypageCurrent = this.pageCurrent;
         }
	},
	computed:{
		// 分页大小 获取的时候显示父级传入的,修改的时候修改自身的。子组件不能修改父元素的值
		pagesize:{
			get:function(){
				return this.pagerData.page.pageSize;
			},
			set:function(value){
				this.pagerData.page.pageSize = value;
				this.pagerData.page.pageNum = 1;
				this.callback(1)
			}
		},
		pageCurrent:{
			get:function(){
				return this.pagerData.page.pageNum;
			},
			set:function(value){
				this.pagerData.page.pageNum = value;
			}
		}
	}
}

table表单下的代码如下,该代码复制到table标签下即可

<vue-page  v-bind:pager-data="pagerData" :callback="callback"></vue-page>

js代码如下

var vue = new Vue({
        el:"#app",
        data:{
            rsList:[],
            pagerData:{
                page:{
                    //分页大小
                    pageSize:10,
                    //分页数
                    arrPageSize:[10,20,30,40,50],
                    //当前页面
                    pageNum:1,
                    //总分页数
                    pages:0,
                    //记录总数
                    total:0
                }
            }
        },
        created: function () {
            this.callback(1);
        },
        components:{
            'vue-page': vuePage
        },
        methods:{

            callback: function(page){
                this.pagerData.page.pageNum = page;
                this.globalCurPage = page;
                var params = {};
                params.pageNum = page;
                params.pageSize = this.pagerData.page.pageSize;;
                params.receiveStatus = this.receiveStatus;
                sysUserController.getMessageList(params,function (data) {
                    if(data.status==200){
                        var resultObject = data.resultObject;
                        vue.rsList = resultObject.list;
                        vue.pagerData.page.pages = resultObject.pages;
                        vue.pagerData.page.total = resultObject.total;
                    }
                });
            }
        }
    });

需引入

bootstrap.min.css

样式完成!

页面效果如下

vue纯前端分页_基于vue的表格组件

======================================

源码地址:https://download.csdn.net/download/qq_33212500/10433011

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187229.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 送学计算机男生什么礼物好,【十大男生喜欢的礼物】男生渴望收到什么礼物_主妇网…「建议收藏」

    送学计算机男生什么礼物好,【十大男生喜欢的礼物】男生渴望收到什么礼物_主妇网…「建议收藏」下周就是一年一度的西方情人节了,有恋人的都已经在想购买什么礼物给自己的爱人了。有心上人的也想着是不是要在情人节表白,想要让自己的男友开心,就一定要想好有什么礼物可以送给对方啦!小编整理了男生最渴望收到的礼物排行榜,希望能够给你一些启发哦!一、钱包钱包对于男人而言是为数不多的几件装饰品之一,而且也非常的实用,不论对方是不是已经有钱包了,你还是可以买一个给他。让对方在日常生活中拿出钱包就想起了你,而且…

    2022年7月25日
    8
  • 宝塔安装腾讯云ssl证书_宝塔 泛域名

    宝塔安装腾讯云ssl证书_宝塔 泛域名宝塔部署腾讯云服务SSL证书

    2022年9月4日
    1
  • json字符串转换成对象有哪几种方法_jsonstring转对象

    json字符串转换成对象有哪几种方法_jsonstring转对象1.将json字符串转化为json对象a.方案一:jquery自带的$.parseJSON函数&amp;lt;script&amp;gt;varjsonstr=&quot;{\&quot;id\&quot;:\&quot;1\&quot;,\&quot;name\&quot;:\&quot;jack\&quot;}&quot;;varobj=$.parseJSON(jsonstr);&a

    2022年9月1日
    3
  • P2192 HXY玩卡片

    P2192 HXY玩卡片

    2022年3月7日
    38
  • mysql日期格式转换_MySQL日期格式转换

    mysql日期格式转换_MySQL日期格式转换DATE_FORMAT(date,format):根据参数对date进行格式化。1234SELECTDATE_FORMAT(‘2016-01-1622:23:00′,’%W%M%Y’)SELECTDATE_FORMAT(‘2016-01-1622:23:00′,’%D%y%a%d%m%b%j’)SELECTDATE_FORMAT(‘2016-01-1622:23:00’…

    2022年6月15日
    24
  • 网络爬虫原理

    目录1网络爬虫原理2写网络爬虫的原因3网络爬虫的流程4网络抓包5HTTP状态码说明6Java网络爬虫需要的基础知识1、网络爬虫原理网络爬虫指按照一定的规则(模拟人工登录网页的方式),自动抓取网络上的程序。简单的说,就是讲你上网所看到页面上的内容获取下来,并进行存储。网络爬虫的爬行策略分为深度优先和广度优先。如下图是深度优先的一种遍历方式是A到B到D到E到C

    2022年4月6日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号