当前位置: 首页 > article >正文

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

在这里插入图片描述
可以通过插槽实现自定义的分页。在layout里面进行配置。
在这里插入图片描述

全部代码

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() {
	 	ifthis.$refs.cusPage){
	 		this.$refs.cusPage.next()
	 	}
	 },
	  toPre() {
	 	ifthis.$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>

实现效果图

在这里插入图片描述
里面具体的逻辑可以自己实现下。


http://www.kler.cn/a/273407.html

相关文章:

  • 【系统架构设计师】2022年真题论文: 论湖仓—体架构及其应用(包括解题思路和素材)
  • Python 条件语句
  • 优选算法精品——双指针
  • 【Python】数据清洗与特征工程:使用Python的Feature-engine库
  • 规范:项目、目录、文件、样式、事件、变量、方法、url参数、注释、git提交 命名规范及考证
  • Docker使用复习(11.3)
  • TT-100K数据集,YOLO格式
  • MR混合现实情景实训教学系统在汽车检修课堂中的应用
  • 汽车电子零部件(8):T_Box
  • vsto excel 插件注册表属性值含义
  • linux学习之Socket
  • 多ip多进程代理的实现方法
  • Github 2024-03-18开源项目日报Top10
  • 动态规划(蓝桥杯 C++ 题目 代码 注解)
  • [TJOI2010] 阅读理解 **STL**Tire树**
  • 003——移植鸿蒙
  • Coursera上Golang专项课程3:Concurrency in Go 学习笔记(完结)
  • LLM 构建Data Multi-Agents 赋能数据分析平台的实践之②:数据治理之一
  • 旋转花键的制造工艺
  • 在ubuntu下安装MQTT 服务
  • 将VSCode添加至右键的菜单栏
  • 使用 Redisson 实现分布式 CountDownLatch,如何使用RCountDownLatch实现内外网数据互通的超时控制?
  • ROS2纯跟踪实现(C++)
  • MYSQL日志 redo_log更新流程 bin_log以及bin_log数据恢复
  • STM32CubeIDE基础学习-BEEP蜂鸣器实验
  • 【LabVIEW FPGA入门】并行执行