vue如何使用element-ui 实现自定义分页

 更新时间:2024年07月19日 10:03:16   作者:小瓶子  
这篇文章主要介绍了vue如何使用element-ui 实现自定义分页,可以通过插槽实现自定义的分页,本文通过实例图文相结合给大家介绍的非常详细,感兴趣的朋友一起看看吧

element-ui文档截图,plus大同小异。

可以通过插槽实现自定义的分页。在layout里面进行配置。

全部代码

//page.js
export default {
	name:Cuspage,
	props:{
		total:Number,
	},
	data(){
		return {
			currentPage:1,
			pageSize:10,
		}
	}
	methods: {
		setslot (h) {
			return(
				<div class="cusPage"›
					<span on-click={this.toBegin}>首页く/span>
					<span on-click={this.toPre}>上一页く/Span>
					<span on-click={this.tovext}>下一页</span>
					<span on-click={this.toEnd}>未页く/span>
					<span>
						第{this.currentPage}/{this.alltotal}页
					</span>
				</div>
			)
		 },
		 toEnd(){
		 	this.$emit('current-change',this.allPage);
		 	this.currentPage = this.allPage;
		 },
		 toBegin() {
		 	this.$emit('current-change',1);
		 	this.currentPage = 1;
		 }
		 toNext() {
		 	if(this.$refs.cusPage){
		 		this.$refs.cusPage.next()
		 	}
		 },
		  toPre() {
		 	if(this.$refs.cusPage){
		 		this.$refs.cusPage.prev()
		 	}
		 },
		 currentChange(val) {
		  this.currenPage = val;
		  this.$emit('current-change',val);
	     },
	     sizeChange (val) {
		  this.pageSize= val;
		  this.$emit('size-change',val);
	     }
	   },
	 computed:{
	 //计算出当前的总页数
	  allPage() {
	    return Math.max(1,Math.ceil(Number(this.total)/Number(this.pageSize))
	  }
	 },
	 render (h) {
		const pageprops =
			props: {
				layout: 'total, slot,sizes, prev, pager,'
				pagesize: this-pagesize, 
				currentPage: this.currentPage, 
				total: 100,
			}
		}
		return (
			<el-pagination
				class="page-custome"
				{...pageprops} 
				ref-"cusPage" 
				onCurrent-change={(v)=>{this.currentChange(v)}} 
				onSize-change={(v)=>{this.sizeChange (v)}}
				onPrev-click={(v) =>{this.PrevChange (v)}}
				onNext-change={(v)=>{this.NextChange (v)}}
				<template slot="default">
				{this.setslot(h)}
				</template>
			</el-pagination>
		  )
	   }
}

组件内使用

<cus-page :total="100" @current-change="currentChange" ...></cus-page>

实现效果图

里面具体的逻辑可以自己实现下。

到此这篇关于vue使用element-ui 实现自定义分页的文章就介绍到这了,更多相关vue element-ui 分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue实现下载文件流完整前后端代码

    vue实现下载文件流完整前后端代码

    这篇文章主要为大家详细介绍了vue实现下载文件流完整前后端代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • vue在页面中如何使用window全局变量

    vue在页面中如何使用window全局变量

    这篇文章主要介绍了vue在页面中如何使用window全局变量问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • vue this.$router六种方法使用示例总结分析

    vue this.$router六种方法使用示例总结分析

    这篇文章主要为大家介绍了vue this.$router六种方法使用示例总结分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • vue-router定义元信息meta操作

    vue-router定义元信息meta操作

    这篇文章主要介绍了vue-router定义元信息meta操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • vue elementui tree 任意级别拖拽功能代码

    vue elementui tree 任意级别拖拽功能代码

    这篇文章主要介绍了vue elementui tree 任意级别拖拽功能代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • vue实现tab标签(标签超出自动滚动)

    vue实现tab标签(标签超出自动滚动)

    当创建的tab标签超出页面可视区域时自动滚动一个tab标签距离,并可手动点击滚动tab标签,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • vue项目代码格式规范设置参考指南

    vue项目代码格式规范设置参考指南

    这篇文章主要给大家介绍了关于vue3简单封装input组件和统一表单数据的相关资料,不管你学习哪一门编程语言,相信大家都会略化这一部分,需要的朋友可以参考下
    2022-05-05
  • vant组件库之tag渐变色不起作用的原因及解决

    vant组件库之tag渐变色不起作用的原因及解决

    这篇文章主要介绍了vant组件库之tag渐变色不起作用的原因及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue常用实例方法示例梳理分析

    Vue常用实例方法示例梳理分析

    在了解vue的常用的实例方法之前,我们应该先要了解其常用的实例属性,你能了解到的vue实例属性有哪些呢?小编在这里就列举了几个常用的vue实例的属性。大家可以一起参考学习一下
    2022-08-08
  • 利用FetchEventSource在大模型流式输出的应用方式

    利用FetchEventSource在大模型流式输出的应用方式

    这篇文章主要介绍了利用FetchEventSource在大模型流式输出的应用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08

最新评论