vue3封装el-pagination分页组件的完整代码

 更新时间:2024年02月26日 09:47:02   作者:PXY_J  
这篇文章主要介绍了vue3封装el-pagination分页组件的完整代码,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

1、效果如图:

在这里插入图片描述

2、分页组件代码:

<template>
  <div class="paging">
    <el-config-provider :locale="zhCn">
      <el-pagination
        v-model:current-page="page.currentPage"
        v-model:page-size="page.pageSize"
        :background="page.background"
        :layout="page.layout"
        :total="page.total"
        @size-change="page.handleSizeChange"
        @current-change="page.handleCurrentChange"
      />
    </el-config-provider>
  </div>
</template>
<script setup>
import { ElConfigProvider } from 'element-plus'
import zhCn from 'element-plus/es/locale/lang/zh-cn';
zhCn.el.pagination.goto = "到第"
const props = defineProps({
  total: {
    required: true,
    type: Number,
    default: 300
  },
  // 当前页数
  currentPage: {
    type: Number,
    default: 1
  },
  // 分页
  pageSize: {
    type: Array,
    default: () => {
      return [10, 20, 30, 50, 100]
    }
  },
  limit: {
    type: Number,
    default: 10
  },
  layout: {
    type: String,
    default: 'total, sizes, prev, pager, next, jumper'
  },
  background: {
    type: Boolean,
    default: () => {
      return true
    },
  },
});
const emit = defineEmits();
const currentPage = computed({
    get() {
        return props.currentPage
    },
    set(val) {
        emit('update:currentPage', val)
    }
})
const pageSize = computed({
    get() {
        return props.limit
    },
    set(val) {
        emit('update:limit', val)
    }
})
const page  = reactive({
  background:props.background,
  currentPage:props.currentPage,
  pageSize:props.pageSize[0],
  layout:props.layout,
  total:props.total,
  handleSizeChange:(val)=>{
    console.log(`${val} items per page`)
    emit('handleSizeChange', val);
  },
  handleCurrentChange:(val)=>{
    console.log(`current page: ${val}`)
    emit('handleCurrentChange', val);
  }
});
</script>
<style lang="scss" scoped>
</style>

3、使用代码:

**结构:**
<template>
<Paging
   :current-page="page.currentPage"
   :page-size="page.pageSize"
   :background="page.background"
   :layout="page.layout"
   :total="page.total"
   :limit="page.limit"
   @handleSizeChange="page.handleSizeChange"
   @handleCurrentChange="page.handleCurrentChange"
 ></Paging>
</template>
**js:**
<script setup>
import Paging from "@/components/paging";//引入分页组件
const page = reactive({
  layout:'prev, pager, next, jumper',
  currentPage:1,
  limit:10,
  total:300,
  handleSizeChange:(val)=>{
    page.pageSize = val
  },
  handleCurrentChange:(val)=>{
   page.currentPage = val
  }
})
</script>

到此这篇关于vue3封装el-pagination分页组件的文章就介绍到这了,更多相关vue3封装el-pagination内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue处理emoji表情占位符的操作方法

    vue处理emoji表情占位符的操作方法

    在计算字符数时,一般情况下,英文字符、数字和大部分符号都可以被视为占一个字符长度,因为它们是单个字节,然而,对于某些特殊字符,如表情符号和部分非英文字符,会被认为占据了多个字符长度,本文给介绍了vue处理emoji表情占位符的操作方法,需要的朋友可以参考下
    2024-06-06
  • Vue集成百度地图实现位置选择功能

    Vue集成百度地图实现位置选择功能

    由于添加门店时,需要选择门店的省、市、区、详细地址、以及门店的经纬度信息,本文给大家分享Vue集成百度地图实现位置选择功能,感兴趣的朋友一起看看吧
    2022-06-06
  • 关于vuex更新视图引发的一些思考详析

    关于vuex更新视图引发的一些思考详析

    我们在vuex中操作数据时遇见视图不更新的情况,下面这篇文章主要给大家介绍了关于vuex更新视图引发的一些思考,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • vue使用once修饰符,使事件只能触发一次问题

    vue使用once修饰符,使事件只能触发一次问题

    这篇文章主要介绍了vue使用once修饰符,使事件只能触发一次问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 如何利用Vue3+Vite批量导入模块/资源

    如何利用Vue3+Vite批量导入模块/资源

    这篇文章主要给大家介绍了关于如何利用Vue3+Vite批量导入模块/资源的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Vue非单文件组件使用详解

    Vue非单文件组件使用详解

    Vue单文件组件通常使用.vue文件扩展名,下面这篇文章主要给大家介绍了关于Vue非单文件组件使用的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Vue3项目中引入html页面的方法举例

    Vue3项目中引入html页面的方法举例

    这篇文章主要给大家介绍了关于Vue3项目中引入html页面的相关资料,Vue3是一个JavaScript框架,通常我们使用它来构建单页应用程序(SPA),如果你想在HTML页面中使用Vue3,可以参考这篇文章,需要的朋友可以参考下
    2023-09-09
  • 详解Weex基于Vue2.0开发模板搭建

    详解Weex基于Vue2.0开发模板搭建

    这篇文章主要介绍了详解Weex基于Vue2.0开发模板搭建,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Vue2.2.0+新特性整理及注意事项

    Vue2.2.0+新特性整理及注意事项

    本文是小编精心给大家收藏整理的关于Vue2.2.0+新特性,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • element-ui中el-upload多文件一次性上传的实现

    element-ui中el-upload多文件一次性上传的实现

    这篇文章主要介绍了element-ui中el-upload多文件一次性上传的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论