更新日志
本页面记录 xiaoye-components 的所有重要变更。
每条记录遵循 Keep a Changelog 规范,分类如下:
- ✨ 新功能 (New):新增的组件、API 或功能
- 🐛 修复 (Fixed):Bug 修复
- 💎 优化 (Changed):功能改进或重构
- ⚠️ 破坏性变更 (Breaking):可能导致不兼容的变更
- 🗑️ 移除 (Removed):已移除的功能或 API
即将发布
当前开发中的功能和改进。
✨ 新功能
- (待补充)
🐛 修复
- (待补充)
💎 优化
- (待补充)
历史版本
项目当前处于活跃开发阶段,尚未发布首个正式版本。 完整的变更记录将在首次发布后在此处展示。
v0.1.0 (2024-xx-xx) - 初始版本
✨ 新功能
基础组件层 (72+ 组件)
基础与展示
Button按钮:支持多种类型(primary/success/warning/danger)、尺寸变体、加载态、图标按钮、按钮组Link文字链接:支持下划线样式、禁用状态、图标Text文本:内联文本样式控制,支持截断、省略、强调Badge徽标:数值提示、小红点、自定义内容Avatar头像:图片/文字/图标头像、头像组、可点击Image图片:懒加载、预览、错误占位、多图展示Watermark水印:文字/图片水印、防篡改Card卡片:基础卡片、阴影变体Carousel走马灯:自动播放、指示器、切换动画Affix固钉:滚动固定定位Anchor锚点:页面内导航、高亮跟踪Menu菜单:水平/垂直菜单、子菜单、折叠模式Row / Col栅格:响应式布局系统Scrollbar滚动条:自定义滚动条样式Splitter分隔面板:可拖拽分割Divider分割线:带文字分割线Icon图标:基于 Iconify 的图标系统Tag标签:可关闭、多彩色、尺寸变体Space间距:统一间距布局Tabs标签页:卡片式、位置变体、标签页
表单与录入
Input输入框:单行/多行、前后缀、密码显隐、字数统计、格式化Radio单选框:按钮组、禁用状态Checkbox复选框:多选组、半选状态、按钮组Switch开关:加载态、文字描述、自定义颜色InputTag标签输入框:动态标签管理InputNumber数字输入框:步进控制、精度限制Rate评分:星级评分、自定义图标Slider滑块:范围选择、刻度标记Select选择器:单选/多选、远程搜索、分组选项、可创建项Form表单:校验规则、动态表单、表单联动Upload上传:拖拽上传、图片预览、批量上传、进度显示
时间相关
DatePicker日期选择器:范围选择、禁用日期、格式化TimePicker时间选择器:时分秒选择、范围TimeSelect时间选择:固定时间选项列表Scheduler排期日历:FullCalendar 集成、事件管理
反馈与浮层
Alert提示:四种类型、可关闭、图标Message消息提示:全局调用、多种类型、手动关闭Notification通知:全局调用、自定义位置、手动关闭Collapse折叠面板:手风琴模式、嵌套CollapseTransition折叠过渡:动画过渡效果Empty空状态:自定义空态图Loading加载:指令/服务/组件三种用法Skeleton骨架屏:多种骨架屏变体Result结果页:成功/失败/警告/信息Backtop回到顶部:滚动显示、自定义位置Tooltip文字提示:富内容、虚拟触发、延迟Popover气泡卡片:嵌套操作、确认气泡Popconfirm气泡确认框:确认操作前的二次确认Dropdown下拉菜单:命令式/触发式、分组Dialog对话框:模态/非模态、拖拽、可调整大小Drawer抽屉:方向、层级、可调整大小
数据展示
Progress进度条:线性/环形、百分比Steps步骤条:垂直/水平、简洁/详细Statistic统计数值:数字格式化、前缀后缀Countdown倒计时:天/时/分/秒Timeline时间线:左侧/双侧、审计模式Tree树形控件:勾选、懒加载、拖拽、虚线Table表格:列定义、排序筛选、固定列、展开行、树形数据、汇总行、实例方法Pagination分页:完整分页、简洁模式
其他
ConfigProvider全局配置:命名空间、国际化、尺寸、z-indexBreadcrumb面包屑AutoComplete自动补全Cascader级联选择器Charts图表(ECharts 封装)CheckCard卡片选择Descriptions描述列表Editor富文本编辑器(Vditor)AudioPlayer音频播放器VideoPlayer视频播放器(Video.js)Transfer穿梭框TreeSelect树形选择器
增强组件层 (30+ 组件)
核心表单与筛选
SearchForm搜索表单:统一筛选栏布局、查询动作、字段折叠ProForm增强表单:统一表单网格、标题区、动作区OverlayForm覆盖层表单:通用覆盖层编辑内核DialogForm弹窗表单:对话框容器 + 表单编排DrawerForm抽屉表单:抽屉容器 + 表单编排FilterPanel筛选面板:高级筛选容器RequestForm请求表单:加载态、提交态、骨架屏LoginForm登录表单:认证场景主链路StepsForm分步表单:多阶段录入流程
核心列表与数据
ProTable增强表格:工具栏 + 搜索区 + 表格 + 分页联动ColumnSettingPanel列设置面板:列显隐配置SavedViewTabs视图页签:视图切换与保存TableFilterDrawer表格筛选抽屉:高级筛选ImportResultTable导入结果表格:导入反馈摘要ListPage列表页容器:列表页骨架CrudPage增删改查页:列表 + 编辑 + 查看闭环
核心详情与历史
AuditTimeline审计时间线:历史记录与审批DetailPanel详情面板:覆盖层详情查看DetailPage详情页容器:完整详情页骨架
流程与任务
ApprovalFlowPanel审批流面板:审批进度展示ImportWizard导入向导:导入流程步骤ExportTaskPanel导出任务面板:导出状态展示
页面布局
PageHeader页面头部:标题、描述、元信息、动作区PageContainer页面容器:头部 + 主体 + footer + loadingStatCard指标卡片:数字指标展示AsyncStateContainer异步状态容器:加载/空态/错误/恢复SplitLayoutPage分栏布局页:主从/侧栏布局
💎 优化
- 组件库采用 Monorepo 架构,分层清晰:
@xiaoye/primitives:底层原语与工具函数@xiaoye/components:基础组件层@xiaoye/pro-components:增强业务组件层
- 全面使用 TypeScript,提供完整的类型定义
- 支持 VitePress 文档站,示例驱动文档
- 内置 Vitest 单元测试 + Playwright E2E 测试
- 使用 Changesets 管理版本和变更日志
⚠️ 破坏性变更
无(初始版本)
如何贡献变更记录
当你在项目中添加了新功能或修复了 Bug 时,请按以下步骤更新 Changelog:
1. 创建 Changeset
bash
# 安装 changeset CLI(如果还未安装)
pnpm add -D @changesets/cli
# 创建新的变更记录
pnpm changeset按照提示选择:
- 变更影响范围(哪个包)
- 变更类型(major/minor/patch)
- 变更描述(中文)
这会在 .changeset/ 目录生成一个 Markdown 文件。
2. 发布版本
bash
# 更新版本号并生成 CHANGELOG
pnpm version-packages
# 发布到 npm
pnpm releaseChangesets 会自动:
- 根据 changeset 文件计算新版本号
- 更新所有包的 package.json
- 生成或更新 CHANGELOG.md
- 创建 Git Tag
- 发布到 npm registry
3. 同步文档站
发布完成后,将生成的 CHANGELOG 内容同步到本页面:
bash
# 从根目录的 CHANGELOG 提取内容
# 复制到 apps/docs/changelog.md版本时间线
v0.1.0 ───────────────────────────────► 当前(开发中)
│
├── 基础组件层:72+ 组件
├── 增强组件层:30+ 组件
├── TypeScript 全面支持
└── VitePress 文档站