返回顶部
首页 > 资讯 > 精选 >Vue3.x+Element Plus如何实现分页器组件
  • 150
分享到

Vue3.x+Element Plus如何实现分页器组件

2023-07-05 05:07:27 150人浏览 安东尼
摘要

这篇文章主要介绍“vue3.x+Element Plus如何实现分页器组件”,在日常操作中,相信很多人在Vue3.x+Element Plus如何实现分页器组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法

这篇文章主要介绍“vue3.x+Element Plus如何实现分页器组件”,在日常操作中,相信很多人在Vue3.x+Element Plus如何实现分页器组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3.x+Element Plus如何实现分页器组件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

开发中难免会遇到宽度很窄的列表需要使用分页器的情况,这时若使用Element Plus组件的分页器会导致分页器内容超出展示的区域,而Element Plus组件中目前没有Acro Design那样小巧的分页器(Arco Design Vue)如下图所示,如果再引入一个新的UI组件库未免导致项目臃肿,所以基于Vue3.x和Element Plus封装了一个即拿即用的”简洁模式“分页器组件以便不时之需

Vue3.x+Element Plus如何实现分页器组件

分页器组件代码部分:

<!-- (简洁模式)分页器组件 --><template>  <div class="smallpagination">    <!-- 总数统计 -->    <span>{{ '共' + total + '条' }}</span>    <!-- 翻页 -->    <div class="smallpagination-pager">      <!-- 左翻页 -->      <el-icon @click="pageTurning('down')" :class="curPage <= 1 ? 'forbid-pageturning' : ''">        <ArrowLeft />      </el-icon>      <!-- 页码 -->      <el-input-number @change="handlePageChange" v-model="pageNum" :min="1" :max="pageTotal" :step-strictly="true"        :controls="false" />      <b>{{ '/ ' + pageTotal }}</b>      <!-- 右翻页 -->      <el-icon @click="pageTurning('up')" :class="curPage >= pageTotal ? 'forbid-pageturning' : ''">        <ArrowRight />      </el-icon>    </div>  </div></template><script setup>import { useAttrs, computed, ref } from 'vue';import {  ArrowLeft,  ArrowRight} from '@element-plus/icons-vue';// 接收父组件参数const attrs = useAttrs();// 父组件事件const em = defineEmits(['handlePageChange']);// 当前页const pageNum = ref(1);// 父组件传递-当前页码const curPage = computed(() => {  pageNum.value = attrs.curPage;  return attrs.curPage;});// 父组件传递-总数const total = computed(() => {  return attrs.total;});// 总页码数const pageTotal = computed(() => {  return attrs.total > 0 ? Math.ceil(attrs.total / attrs.pageSize) : 1;});const handlePageChange = (e) => {  if (pageTotal.value <= 1) {    return;  }  em('handlePageChange', e);};const pageTurning = (type) => {  // 向前翻页  if (type === 'up') {    if (curPage.value >= pageTotal.value || pageTotal.value <= 1) {      return;    }    em('handlePageChange', pageNum.value + 1);  }  // 向后翻页  else {    if (pageTotal.value <= 1 || curPage.value <= 1) {      return;    }    em('handlePageChange', pageNum.value - 1);  }};</script><style lang="less" scoped>.smallpagination {  width: auto;  height: 100%;  display: flex;  align-items: center;  >span {    margin-right: 11px;    font-size: 14px;    font-weight: 400;    color: #4E5969;    line-height: 21px;  }  .smallpagination-pager {    display: flex;    align-items: center;    .el-icon {      width: 30px;      height: 30px;      font-size: 14px;      color: #4E5969;      cursor: pointer;      &:hover {        background: rgb(247, 248, 250);        color: #0082ff;      }    }    .forbid-pageturning {      opacity: 0.4;      cursor: not-allowed;      &:active {        color: #4E5969;        background: rgb(255, 255, 255);      }    }    >b {      margin: 0 5px;      font-size: 14px;      font-weight: 400;      color: #4E5969;    }  }}</style><style lang="less">.smallpagination {  .smallpagination-pager {    .el-input-number {      width: 40px;      margin-left: 5px;      span {        display: none;      }      .el-input__wrapper {        padding: 0;        height: 30px;        font-size: 14px;        box-sizing: border-box;        background: #f2f3f5;        box-shadow: none !important;      }    }  }}</style>

使用简洁模式分页器组件代码如下:

<template>    <div class="xxx-list">    ...        <div class="list-bottom-common-page">          <SmallPagination :total="total" :curPage="curPage" :pageSize="pageSize" @handlePageChange="handleCurrentChange">          </SmallPagination>        </div>    </div></template><script setup>import SmallPagination from '@/components/xxx/SmallPagination.vue';import { ref } from 'vue';// 当前页const curPage = ref(1);// 每页条数const pageSize = ref(20);// 列表总数const total = ref(0);const handleCurrentChange = (val) => {  curPage.value = val;  ...};</script>

最终效果如下:

Vue3.x+Element Plus如何实现分页器组件

到此,关于“Vue3.x+Element Plus如何实现分页器组件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Vue3.x+Element Plus如何实现分页器组件

本文链接: https://lsjlt.com/news/349807.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue3.x+Element Plus如何实现分页器组件
    这篇文章主要介绍“Vue3.x+Element Plus如何实现分页器组件”,在日常操作中,相信很多人在Vue3.x+Element Plus如何实现分页器组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-07-05
  • 利用Vue3+Element-plus实现大文件分片上传组件
    目录一、背景二、技术栈三、核心代码实现四、总结一、背景 实际项目中遇到需要上传几十个G的3d模型文件,传统上传就不适用了。 结合element提供的上传组件自己封装了文件分片上传的组...
    99+
    2023-01-28
    elementui分片上传 vue element ui教程 element ui 上传文件组件
  • 如何利用Vue3和element-plus实现图片上传组件
    这篇文章将为大家详细讲解有关如何利用Vue3和element-plus实现图片上传组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言element-plus 提供了 uploader 组件,但是不好定...
    99+
    2023-06-29
  • 利用Vue3和element-plus实现图片上传组件
    目录前言具体代码图片上传上传组件前言 element-plus 提供了 uploader 组件,但是不好定制化,所以自己又造了个轮子,实现了一个图片上传的组件,它的预期行为是: 1....
    99+
    2024-04-02
  • Vue3.x+ElementPlus仿制AcroDesign简洁模式实现分页器组件
    开发中难免会遇到宽度很窄的列表需要使用分页器的情况,这时若使用Element Plus组件的分页器会导致分页器内容超出展示的区域,而Element Plus组件中目前没有Acro D...
    99+
    2023-02-23
    Vue Element实现分页器组件 Vue Element分页器组件 Vue Element分页器 Vue Element分页
  • Vue3 Element Plus中el-form表单组件如何使用
    这篇文章主要讲解了“Vue3 Element Plus中el-form表单组件如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3 Element&n...
    99+
    2023-07-06
  • Vue3+Vite+TS实现二次封装element-plus业务组件sfasga
    目录1.结构字符串2.返回tuple元组3.访问Dict字典4.运用库5.在列表中切片/步进 6.用 ranges 1.结构字符串 你会经常需求打印字符串。要是有很多变量,防止下面这...
    99+
    2024-04-02
  • vue3怎么集成Element-plus实现按需自动引入组件
    本文小编为大家详细介绍“vue3怎么集成Element-plus实现按需自动引入组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3怎么集成Element-plus实现按需自动引入组件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2023-07-02
  • Vue3 Element-plus和el-menu无限级菜单组件如何封装
    本文小编为大家详细介绍“Vue3 Element-plus和el-menu无限级菜单组件如何封装”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue3 Element-plus和el-menu无限级菜单组件如何封装”文...
    99+
    2023-07-06
  • 基于vue3和element-plus的暗黑模式如何实现
    这篇文章主要介绍“基于vue3和element-plus的暗黑模式如何实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于vue3和element-plus的暗黑模式如何实现”文章能帮助大家解决问...
    99+
    2023-07-06
  • vue3集成Element-plus实现按需自动引入组件的方法总结
    目录1、第一种方式,使用全局引入2、第二种方式,使用局部引入3、按需自动引入element-plus  推荐总结element-plus正是element-ui针...
    99+
    2024-04-02
  • vuejs2.0如何实现分页组件
    这篇文章主要介绍vuejs2.0如何实现分页组件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先使用基础 Vue 构造器,创建一个“子类”,Vue.extend( options ...
    99+
    2024-04-02
  • vue2.0如何实现分页组件
    小编给大家分享一下vue2.0如何实现分页组件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近使用vue2.0重构项目, 需要...
    99+
    2024-04-02
  • vue如何基于element-ui分页组件封装
    这篇文章主要为大家展示了“vue如何基于element-ui分页组件封装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何基于element-ui分页组件...
    99+
    2024-04-02
  • js+ajax如何实现分页组件
    小编给大家分享一下js+ajax如何实现分页组件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下1.定义分页组件DOM<div id="paginati...
    99+
    2024-04-02
  • Vue.js分页组件如何实现diVuePagination
    这篇文章给大家分享的是有关Vue.js分页组件如何实现diVuePagination的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一.介绍Vue.js 是什么Vue (读音 /v...
    99+
    2024-04-02
  • Reactjs如何实现通用分页组件
    这篇文章给大家分享的是有关Reactjs如何实现通用分页组件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大家多少都自己写过各种版本的分页工具条吧,像纯服务版的,纯jsWeb板的...
    99+
    2024-04-02
  • vue2中如何实现table分页组件
    这篇文章主要介绍了vue2中如何实现table分页组件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下pagination.js:...
    99+
    2024-04-02
  • Vue3+hook如何实现弹窗组件
    本文小编为大家详细介绍“Vue3+hook如何实现弹窗组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue3+hook如何实现弹窗组件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。要封装什么如果是普通弹窗使...
    99+
    2023-07-04
  • rollup3.x+vue2打包组件如何实现
    今天小编给大家分享一下rollup3.x+vue2打包组件如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。包的依赖关系...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作