vue-ssr-pagination

1.0.9 • Public • Published

Vue SSR Pagination

根据页码生成 a 标签 使得浏览器可以抓取 a 链接 用于需要 SEO 分页插件,例结合nuxtjs使用 支持 查询参数模式 及 动态路由模式

查询参数模式

Oxv9r6.png

动态路由模式

Oxj2VS.png

DEMO

https://yokochen222.github.io/vue-ssr-pagination/

Props

name type default desc
total Number 0 总数据条数
pageSize Number 10 每页条数
currentPage Number 1 当前页码
pathPrefix String '/' 生成路由前缀
pageQueryName String 'page' 查询参数名称 ⚠️:queryMode 为 2 时生效
queryMode Number 1 1 动态路由模式, 2 查询参数模式
pagerCount Number 5 大于等于 5 且小于等于 21 的奇数
layout String 'prev, pager, next, jumper, ->, total' 组件布局,子组件名用逗号分隔
prevBtnClassName String - 上一页按钮类名
prevBtnText String - 上一页按钮文本
nextBtnClassName String - 下一页按钮类名
nextBtnText String - 下一页按钮文本
background Boolean false 是否为分页按钮添加背景色
small Boolean false 是否使用小型分页样式

Usege

1、局部注册

<script setup lang="ts">
import YoPagination from './packages/Pagination.vue'
import { reactive } from 'vue'
import { useRouter } from 'vue-router'
const router = useRouter()
const query = reactive({
    total: 100,
    page: 1,
})
const handleChangePage = (e: { path: string; page: number }) => {
    router.push(e.path)
}
</script>

<template>
    <YoPagination
        @current-change="handleChangePage"
        :total="100"
        :query-mode="2"
        page-query-name="page"
        path-prefix="/pages/number?t=12"
        v-model:current-page="query.page"
    />
</template>

<style></style>

2、全局注册

  import App from './App.vue'
  import YoPagination from './packages/index'
  import { createApp } from 'vue'

  const app = createApp(App)

  app.use(YoPagination)
  
  app.mount('#app')

/vue-ssr-pagination/

    Package Sidebar

    Install

    npm i vue-ssr-pagination

    Weekly Downloads

    1

    Version

    1.0.9

    License

    MIT

    Unpacked Size

    37.9 kB

    Total Files

    7

    Last publish

    Collaborators

    • yokochen