diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 9b94e28..e88c494 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -62,6 +62,10 @@ const components = [ text: 'Breadcrumb 面包屑', link: '/components/Breadcrumb' }, + { + text: 'Pagination 分页', + link: '/components/Pagination' + }, ] }, ] diff --git a/docs/components/Pagination.md b/docs/components/Pagination.md new file mode 100644 index 0000000..f725685 --- /dev/null +++ b/docs/components/Pagination.md @@ -0,0 +1,74 @@ +--- +title: Pagination 分页 +lang: zh-CN +--- + +# Pagination 分页 + +采用分页的形式分隔长列表,每次只加载一个页面。 + +## 基本使用 + +基本分页。 + + + +## 更多 + +更多分页。 + + + + +## 改变 + +改变每页显示条目数。 + + + +## 跳转 + +快速跳转到某一页。 + + + +## 总计 + +使用`total`插槽展示总计。 + + + +## 全部展示 + +展示所有配置选项。 + + + +## Props 属性 + +| 属性 | 说明 | 类型 | 默认值 | 版本 | +| ---------------- | --------------------------------------------------------- | ---------- | ------------------- | ---- | +| current | 当前页数 | `number` | - | | +| defaultCurrent | 默认的当前页数 | `number` | `1` | | +| defaultPageSize | 默认的每页条数 | `number` | `10` | +| disabled | 禁用分页 | `boolean` | - | | +| hideOnSinglePage | 只有一页时是否隐藏分页器 | `boolean` | `false` | | +| pageSize | 每页条数 | `number` | - | | +| pageSizeOptions | 指定每页可以显示多少条 | `number[]` | `[10, 20, 50, 100]` | | +| showQuickJumper | 是否可以快速跳转至某页 | `boolean` | `false` | | +| showSizeChanger | 是否展示 pageSize 切换器,当`total`大于`50`时默认为`true` | `boolean` | `false` | | +| showTitle | 是否显示原生 tooltip 页码提示 | `boolean` | `true` | | +| total | 数据总数 | `number` | `0` | | + +## Events 事件 + +| 事件 | 说明 | 类型 | +| -------------- | -------------------------------------------------------- | ----------------------------------- | +| change | 页码或 pageSize 改变的回调,参数是改变后的页码及每页条数 | `(value: {page, pageSize}) => void` | +| showSizeChange | pageSize 变化的回调 | `(value: {current, size}) => void` | + +## Slots 插槽 + +| 插槽名 | 说明 | +| ------ | -------------- | +| total | 自定义总计内容 | \ No newline at end of file diff --git a/docs/example/pagination/all.svelte b/docs/example/pagination/all.svelte new file mode 100644 index 0000000..d6126e9 --- /dev/null +++ b/docs/example/pagination/all.svelte @@ -0,0 +1,13 @@ + + + + 总共{total}记录 + diff --git a/docs/example/pagination/basic.svelte b/docs/example/pagination/basic.svelte new file mode 100644 index 0000000..498c6cc --- /dev/null +++ b/docs/example/pagination/basic.svelte @@ -0,0 +1,5 @@ + + + diff --git a/docs/example/pagination/more-page.svelte b/docs/example/pagination/more-page.svelte new file mode 100644 index 0000000..041d49e --- /dev/null +++ b/docs/example/pagination/more-page.svelte @@ -0,0 +1,5 @@ + + + diff --git a/docs/example/pagination/quick-jumper.svelte b/docs/example/pagination/quick-jumper.svelte new file mode 100644 index 0000000..7a1373d --- /dev/null +++ b/docs/example/pagination/quick-jumper.svelte @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/example/pagination/size-options.svelte b/docs/example/pagination/size-options.svelte new file mode 100644 index 0000000..3dad35b --- /dev/null +++ b/docs/example/pagination/size-options.svelte @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/example/pagination/total.svelte b/docs/example/pagination/total.svelte new file mode 100644 index 0000000..74c1067 --- /dev/null +++ b/docs/example/pagination/total.svelte @@ -0,0 +1,7 @@ + + + + 总共{total}记录 + diff --git a/packages/adorn-ui/src/Pagination/index.svelte b/packages/adorn-ui/src/Pagination/index.svelte new file mode 100644 index 0000000..d7850b6 --- /dev/null +++ b/packages/adorn-ui/src/Pagination/index.svelte @@ -0,0 +1,300 @@ + + +{#if !hidden} +
+ {#if $$slots.total} + + + + {/if} + + + + {/if} + {/each} + +
+{/if} + + diff --git a/packages/adorn-ui/src/index.js b/packages/adorn-ui/src/index.js index 5de222f..44975e7 100644 --- a/packages/adorn-ui/src/index.js +++ b/packages/adorn-ui/src/index.js @@ -8,5 +8,6 @@ export { FloatButton } from './FloatButton' export { Row, Col } from './Grid' export { default as Icon } from './Icon/index.svelte' export { Layout } from './Layout' +export { default as Pagination } from './Pagination/index.svelte' export { default as Space } from './Space/index.svelte' export { Typography } from './Typography'