import{o as t,a,y as n}from"./vue-libs.b44bc779.js";const d={class:"van-doc-markdown-body"},e=n(`
\u6570\u636E\u91CF\u8FC7\u591A\u65F6\uFF0C\u91C7\u7528\u5206\u9875\u7684\u5F62\u5F0F\u5C06\u6570\u636E\u5206\u9694\uFF0C\u6BCF\u6B21\u53EA\u52A0\u8F7D\u4E00\u4E2A\u9875\u9762\u3002
\u901A\u8FC7\u4EE5\u4E0B\u65B9\u5F0F\u6765\u5168\u5C40\u6CE8\u518C\u7EC4\u4EF6\uFF0C\u66F4\u591A\u6CE8\u518C\u65B9\u5F0F\u8BF7\u53C2\u8003\u7EC4\u4EF6\u6CE8\u518C\u3002
import { createApp } from 'vue';
import { Pagination } from 'vant';
const app = createApp();
app.use(Pagination);
\u901A\u8FC7 v-model
\u6765\u7ED1\u5B9A\u5F53\u524D\u9875\u7801\u3002
<van-pagination v-model="currentPage" :total-items="24" :items-per-page="5" />
import { ref } from 'vue';
export default {
setup() {
const currentPage = ref(1);
return { currentPage };
},
};
\u5C06 mode
\u8BBE\u7F6E\u4E3A simple
\u6765\u5207\u6362\u5230\u7B80\u5355\u6A21\u5F0F\uFF0C\u6B64\u65F6\u5206\u9875\u5668\u4E0D\u4F1A\u5C55\u793A\u5177\u4F53\u7684\u9875\u7801\u6309\u94AE\u3002
<van-pagination v-model="currentPage" :page-count="12" mode="simple" />
\u8BBE\u7F6E force-ellipses
\u540E\u4F1A\u5C55\u793A\u7701\u7565\u53F7\u6309\u94AE\uFF0C\u70B9\u51FB\u540E\u53EF\u4EE5\u5FEB\u901F\u8DF3\u8F6C\u3002
<van-pagination
v-model="currentPage"
:total-items="125"
:show-page-size="3"
force-ellipses
/>
\u901A\u8FC7 prev-text
\u3001next-text
\u7B49\u63D2\u69FD\u6765\u81EA\u5B9A\u4E49\u5206\u9875\u6309\u94AE\u7684\u5185\u5BB9\u3002
<van-pagination v-model="currentPage" :total-items="50" :show-page-size="5">
<template #prev-text>
<van-icon name="arrow-left" />
</template>
<template #next-text>
<van-icon name="arrow" />
</template>
<template #page="{ text }">{{ text }}</template>
</van-pagination>
\u53C2\u6570 | \u8BF4\u660E | \u7C7B\u578B | \u9ED8\u8BA4\u503C |
---|---|---|---|
v-model | \u5F53\u524D\u9875\u7801 | number | - |
mode | \u663E\u793A\u6A21\u5F0F\uFF0C\u53EF\u9009\u503C\u4E3A simple | string | multi |
prev-text | \u4E0A\u4E00\u9875\u6309\u94AE\u6587\u5B57 | string | \u4E0A\u4E00\u9875 |
next-text | \u4E0B\u4E00\u9875\u6309\u94AE\u6587\u5B57 | string | \u4E0B\u4E00\u9875 |
page-count | \u603B\u9875\u6570 | number | string | \u6839\u636E\u9875\u6570\u8BA1\u7B97 |
total-items | \u603B\u8BB0\u5F55\u6570 | number | string | 0 |
items-per-page | \u6BCF\u9875\u8BB0\u5F55\u6570 | number | string | 10 |
show-page-size | \u663E\u793A\u7684\u9875\u7801\u4E2A\u6570 | number | string | 5 |
force-ellipses | \u662F\u5426\u663E\u793A\u7701\u7565\u53F7 | boolean | false |
\u4E8B\u4EF6\u540D | \u8BF4\u660E | \u56DE\u8C03\u53C2\u6570 |
---|---|---|
change | \u9875\u7801\u6539\u53D8\u65F6\u89E6\u53D1 | - |
\u540D\u79F0 | \u63CF\u8FF0 | \u53C2\u6570 |
---|---|---|
page | \u81EA\u5B9A\u4E49\u9875\u7801 | { number: number, text: string, active: boolean } |
prev-text | \u81EA\u5B9A\u4E49\u4E0A\u4E00\u9875\u6309\u94AE\u6587\u5B57 | - |
next-text | \u81EA\u5B9A\u4E49\u4E0B\u4E00\u9875\u6309\u94AE\u6587\u5B57 | - |
\u7EC4\u4EF6\u5BFC\u51FA\u4EE5\u4E0B\u7C7B\u578B\u5B9A\u4E49\uFF1A
import type { PaginationMode, PaginationProps } from 'vant';
\u7EC4\u4EF6\u63D0\u4F9B\u4E86\u4E0B\u5217 CSS \u53D8\u91CF\uFF0C\u53EF\u7528\u4E8E\u81EA\u5B9A\u4E49\u6837\u5F0F\uFF0C\u4F7F\u7528\u65B9\u6CD5\u8BF7\u53C2\u8003 ConfigProvider \u7EC4\u4EF6\u3002
\u540D\u79F0 | \u9ED8\u8BA4\u503C | \u63CF\u8FF0 |
---|---|---|
--van-pagination-height | 40px | - |
--van-pagination-font-size | var(--van-font-size-md) | - |
--van-pagination-item-width | 36px | - |
--van-pagination-item-default-color | var(--van-primary-color) | - |
--van-pagination-item-disabled-color | var(--van-gray-7) | - |
--van-pagination-item-disabled-background-color | var(--van-background-color) | - |
--van-pagination-background-color | var(--van-background-color-light) | - |
--van-pagination-desc-color | var(--van-gray-7) | - |
--van-pagination-disabled-opacity | var(--van-disabled-opacity) | - |