--- name: pagination-component overview: 按开发规范并参考 antdv-next 设计,新增 fms-vue 的 Pagination 分页组件(含页码折叠、sizeChanger、quickJumper、showTotal、非受控/受控双 v-model),并在 App.vue 演示页补充导航与示例。 design: architecture: framework: vue styleKeywords: - 简洁 - 中性色 - 主色强调 - 等宽页码 - 清晰状态 fontSystem: fontFamily: PingFang SC heading: size: 14px weight: 600 subheading: size: 14px weight: 400 body: size: 14px weight: 400 colorSystem: primary: - "#0f172b" - "#ffffff" background: - "#ffffff" - "#f5f6f8" - "#f1f5f9" text: - "#1f2329" - "#86909c" - "#ffffff" functional: - "#e5e6eb" - "#c9cdd4" - "#f2f3f5" todos: - id: create-pagination-component content: 使用 [skill:ui-ux-pro-max] 核对分页交互规范后,创建 pagination.vue:props/emits、页码窗口算法、受控/非受控双模式 status: completed - id: build-pagination-template content: 完成 pagination.vue 模板:页码/省略号/prev-next、sizeChanger 复用 Select、quickJumper 复用 Input、showTotal 与 ARIA status: completed dependencies: - create-pagination-component - id: write-pagination-styles content: 编写 index.scss:页码项各状态、省略号 hover 双箭头、布局间距,全部复用 --fms-* token status: completed dependencies: - build-pagination-template - id: add-pagination-demo content: App.vue 新增 Pagination 导航项与演示 section(基础/条数切换/快速跳转/总数/禁用/单页隐藏),静态检查后汇报 status: in_progress dependencies: - write-pagination-styles --- ## 产品概述 在 fms-vue 组件库中新增 Pagination 分页组件:参考 antdv-next 的 Pagination 设计(current/pageSize 双 v-model、页码窗口与省略号跳转、每页条数切换、快速跳转、总数显示),按本项目开发规范做轻量化实现,并在演示站 App.vue 中新增展示。 ## 核心功能 - 页码导航:首页 / 尾页固定展示,当前页前后各 1 页,中间用省略号折叠;省略号点击跳 ±5 页;上一页 / 下一页箭头按钮 - 每页条数切换(showSizeChanger):复用 Select 组件,选项默认 [10, 20, 50, 100] - 快速跳转(showQuickJumper):复用 Input 数字输入,Enter 跳转到指定页 - 总数显示(showTotal):默认显示「共 X 条」,支持插槽自定义文案 - 受控 / 非受控双模式:不传 v-model 时组件内部维护 current 与 pageSize(参照 Tabs 先例) - 边界与禁用:单页时可选隐藏(hideOnSinglePage)、整组禁用、页码越界自动回退、页码 1 时上一页禁用等 - 可访问性:页码按钮原生 disabled、当前页 aria-current、图标按钮带 aria-label、focus-visible 焦点样式 ## 视觉效果 - 页码项为 32px 等宽方形按钮,与控件高度 token 一致;当前页主色填充,hover/焦点主色描边,禁用降级为灰 - 整体水平排列、间距 8px,与 Tabs 等现有组件间距体系一致;深色模式自动适配 tokens ## 技术栈 - Vue 3 `