Pagination 分页

采用分页的形式分隔长列表,每次只加载一个页面。

何时使用

  • 当加载/渲染所有数据将花费很多时间时;
  • 可切换页码浏览数据。

组件演示

基本

基础分页。

  1. <template>
  2. <v-pagination v-model="value" @change="loadPage"
  3. :total="50">
  4. </v-pagination>
  5. </template>
  6. <script>
  7. export default {
  8. methods: {
  9. loadPage(i) {
  10. console.log('cb' + i);
  11. }
  12. }
  13. }
  14. </script>

更多

更多分页。

  1. <template>
  2. <v-pagination :total="500"></v-pagination>
  3. </template>

改变

改变每页显示条目数。

  1. <template>
  2. <v-pagination show-size-changer @sizechange="pageSizeChange" :total="50"></v-pagination>
  3. </template>
  4. <script>
  5. export default {
  6. methods: {
  7. pageSizeChange(current, size) {
  8. console.log(current, size);
  9. }
  10. }
  11. }
  12. </script>

跳转

快速跳转到某一页。

  1. <template>
  2. <v-pagination show-quick-jumper :total="500"></v-pagination>
  3. </template>

迷你

迷你版本。

  1. <template>
  2. <v-pagination
  3. size="small"
  4. :total="50">
  5. </v-pagination>
  6. <br>
  7. <v-pagination
  8. :value="value"
  9. :total="100"
  10. :default-page-size="5"
  11. :page-size="10"
  12. @change="loadPage"
  13. show-size-changer
  14. @sizechange="pageSizeChange"
  15. show-quick-jumper
  16. size="small"
  17. :simple="false">
  18. </v-pagination>
  19. <br>
  20. <v-pagination
  21. :value="value"
  22. :total="50"
  23. :default-page-size="5"
  24. :page-size="10"
  25. @change="loadPage"
  26. size="small"
  27. :simple="false"
  28. :show-total="showTotal">
  29. </v-pagination>
  30. </template>

简洁

简单的翻页。

  1. <template>
  2. <v-pagination simple></v-pagination>
  3. <v-pagination simple :total="500"></v-pagination>
  4. </template>

受控

受控制的页码。

  1. <template>
  2. <v-pagination :value="3" :total="50"></v-pagination>
  3. </template>

总数

通过设置 showTotal 展示总共有多少数据。

  1. <template>
  2. <v-pagination :show-total="showTotal" :total="50"></v-pagination>
  3. <br>
  4. <v-pagination :show-total="showTotal2" :total="50"></v-pagination>
  5. </template>
  6. <script>
  7. export default {
  8. methods: {
  9. showTotal(total) {
  10. return `全部 ${total} 条`;
  11. },
  12. showTotal2(total, pages) {
  13. return `1-${pages} 全部 ${total} 条`;
  14. }
  15. }
  16. }
  17. </script>

API

Pagination Props

参数说明类型默认值
value当前页数Number1
total数据总数Number0
pageSize每页条数Number10
showSizeChanger是否可以改变 pageSizeBooleanfalse
pageSizeOptions指定每页可以显示多少条Array[10, 20, 30, 40]
showQuickJumper是否可以快速跳转至某页Booleanfalse
size当为「small」时,是小尺寸分页String
simple当添加该属性时,显示为简单分页Object
showTotal用于显示总共有多少条数据Function(total, totalPages)

Pagination Events

事件说明参数
change页码改变的回调,参数是改变后的页码page
sizechangepageSize 变化的回调current, size