分页

v-pagination 组件用于分离长数据集,以便用户更容易地使用信息。根据提供的长度,分页组件将自动伸缩。要维护当前页面,只需提供一个 v-model 属性。

用例

默认情况下,分页显示基于设置的 length 属性的页面数,并带有 prevnext 按钮,以帮助您导航。

template script


  1. <template>
  2. <div class="text-center">
  3. <v-pagination
  4. v-model="page"
  5. :length="6"
  6. ></v-pagination>
  7. </div>
  8. </template>
  1. <script>
  2. export default {
  3. data () {
  4. return {
  5. page: 1,
  6. }
  7. },
  8. }
  9. </script>

Paginations(分页) - 图1

API

从下面选择您想要的组件,并查看可用的属性、插槽、事件和函数。

Paginations(分页) - 图2

实战场

template script


  1. <template>
  2. <div class="text-center">
  3. <v-row justify="center" align="center">
  4. <v-col cols="12">
  5. <v-radio-group row wrap>
  6. <v-switch v-model="circle" label="Toggle circle" class="mx-4"></v-switch>
  7. <v-switch v-model="disabled" label="Toggle disabled" class="mx-4"></v-switch>
  8. </v-radio-group>
  9. </v-col>
  10. <v-row>
  11. <v-col cols="12" md="3">
  12. <v-select
  13. v-model="prevIcon"
  14. class="mx-4"
  15. :items="prevIcons"
  16. label="prev-icon"
  17. ></v-select>
  18. </v-col>
  19. <v-col cols="12" md="3">
  20. <v-select
  21. v-model="nextIcon"
  22. class="mx-4"
  23. :items="nextIcons"
  24. label="next-icon"
  25. ></v-select>
  26. </v-col>
  27. <v-col cols="12" md="3">
  28. <v-text-field
  29. v-model="length"
  30. label="Pagination length"
  31. max="25"
  32. min="1"
  33. step="1"
  34. style="width: 125px"
  35. type="number"
  36. @keydown="false"
  37. ></v-text-field>
  38. </v-col>
  39. <v-col cols="12" md="3">
  40. <v-text-field
  41. v-model="totalVisible"
  42. label="Total visible"
  43. max="25"
  44. min="1"
  45. step="1"
  46. style="width: 125px"
  47. type="number"
  48. @keydown="false"
  49. ></v-text-field>
  50. </v-col>
  51. </v-row>
  52. </v-row>
  53. <v-pagination
  54. v-model="page"
  55. :circle="circle"
  56. :disabled="disabled"
  57. :length="length"
  58. :next-icon="nextIcon"
  59. :prev-icon="prevIcon"
  60. :page="page"
  61. :total-visible="totalVisible"
  62. ></v-pagination>
  63. </div>
  64. </template>
  1. <script>
  2. export default {
  3. data () {
  4. return {
  5. circle: false,
  6. disabled: false,
  7. length: 10,
  8. nextIcon: 'navigate_next',
  9. nextIcons: ['mdi-chevron-right', 'mdi-arrow-right', 'mdi-menu-right'],
  10. prevIcon: 'navigate_before',
  11. prevIcons: ['mdi-chevron-left', 'mdi-arrow-left', 'mdi-menu-left'],
  12. page: 1,
  13. totalVisible: 10,
  14. }
  15. },
  16. }
  17. </script>

Paginations(分页) - 图3

示例

下面是一些简单到复杂的例子。

长的

使用 length 属性,您可以设置 v-pagination 的长度,如果页面按钮的数量超过父容器,它将截断列表。

template script


  1. <template>
  2. <div class="text-center">
  3. <v-container>
  4. <v-row justify="center">
  5. <v-col cols="8">
  6. <v-container class="max-width">
  7. <v-pagination
  8. v-model="page"
  9. class="my-4"
  10. :length="15"
  11. ></v-pagination>
  12. </v-container>
  13. </v-col>
  14. </v-row>
  15. </v-container>
  16. </div>
  17. </template>
  1. <script>
  2. export default {
  3. data () {
  4. return {
  5. page: 1,
  6. }
  7. },
  8. }
  9. </script>

Paginations(分页) - 图4

限制

您可以用total-visible属性手动设置可见页面按钮的最大数量。

template script


  1. <template>
  2. <div class="text-center">
  3. <v-pagination
  4. v-model="page"
  5. :length="15"
  6. :total-visible="7"
  7. ></v-pagination>
  8. </div>
  9. </template>
  1. <script>
  2. export default {
  3. data () {
  4. return {
  5. page: 1,
  6. }
  7. },
  8. }
  9. </script>

Paginations(分页) - 图5

圆形

circle 属性为您提供了分页按钮的另一种样式。

template script


  1. <template>
  2. <div class="text-center">
  3. <v-pagination
  4. v-model="page"
  5. :length="4"
  6. circle
  7. ></v-pagination>
  8. </div>
  9. </template>
  1. <script>
  2. export default {
  3. data () {
  4. return {
  5. page: 1,
  6. }
  7. },
  8. }
  9. </script>

Paginations(分页) - 图6

Vuetify Discord

Get help with an issue, report a bug or connect with other developers on Discord

ads by Vuetify

](https://community.vuetifyjs.com?ref=vuetifyjs.com)

图标

上一页和下一页的图标可以使用 prev-iconnext-icon 属性定制。

template script


  1. <template>
  2. <div class="text-center">
  3. <v-pagination
  4. v-model="page"
  5. :length="4"
  6. prev-icon="mdi-menu-left"
  7. next-icon="mdi-menu-right"
  8. ></v-pagination>
  9. </div>
  10. </template>
  1. <script>
  2. export default {
  3. data () {
  4. return {
  5. page: 1,
  6. }
  7. },
  8. }
  9. </script>

Paginations(分页) - 图7

禁用

分页项可以使用 disabled 属性手动停用。

template


  1. <template>
  2. <div class="text-center">
  3. <v-pagination
  4. :length="3"
  5. disabled
  6. ></v-pagination>
  7. </div>
  8. </template>

Paginations(分页) - 图8