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 分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue3+elementPlus项目支持设置默认附件方式

    vue3+elementPlus项目支持设置默认附件方式

    这篇文章主要介绍了vue3+elementPlus项目支持设置默认附件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Vuex模块化和命名空间namespaced实例演示

    Vuex模块化和命名空间namespaced实例演示

    这篇文章主要介绍了Vuex模块化和命名空间namespaced的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • vue3数组或对象赋值不更新解决方法示例

    vue3数组或对象赋值不更新解决方法示例

    这篇文章主要为大家介绍了vue3数组或对象赋值不更新解决方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Uniapp打包Android文件选择上传问题图文详解

    Uniapp打包Android文件选择上传问题图文详解

    在移动应用开发中,文件上传是一项常见的功能,尤其在社交、云存储以及各种服务类应用中,这篇文章主要介绍了Uniapp打包Android文件选择上传问题的相关资料,需要的朋友可以参考下
    2025-06-06
  • Vue中的匿名插槽与具名插槽详解

    Vue中的匿名插槽与具名插槽详解

    这篇文章主要为大家介绍了Vue中的匿名插槽与具名插槽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • vue中内嵌iframe的src更新页面未刷新问题及解决

    vue中内嵌iframe的src更新页面未刷新问题及解决

    这篇文章主要介绍了vue中内嵌iframe的src更新页面未刷新问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 一文带你搞懂Vue中i18n的使用方法

    一文带你搞懂Vue中i18n的使用方法

    i18n是"国际化"的简称,它的主要目的是让应用程序能够适应不同的语言和地区的需求,下面就跟随小编一起来看看Vue中i18n的具体使用方法吧
    2025-01-01
  • Vue3实现地图选点组件的示例代码

    Vue3实现地图选点组件的示例代码

    这篇文章主要为大家详细介绍了Vue3实现地图选点组件的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • vue2.0实现前端星星评分功能组件实例代码

    vue2.0实现前端星星评分功能组件实例代码

    本文通过实例代码给大家介绍了vue2.0实现前端星星评分功能组件,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-02-02
  • vue踩坑记录之src的动态绑定赋值问题

    vue踩坑记录之src的动态绑定赋值问题

    这篇文章主要介绍了vue踩坑记录之src的动态绑定赋值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06

最新评论