更新日志
本页记录 sh-design 组件库 的版本变更,遵循 语义化版本 SemVer。
说明:这里只记录组件库相关的改动(组件、Composable、公共 API)。纯文档 / 站点 / CI 等工程改动一般不单独收录。
0.0.6
2026-07-27
✨ 新增
- 新增
ShWaterfall瀑布流组件:- 双布局:
layout="waterfall"瀑布流(最矮列优先)/layout="grid"等高网格(grid-ratio控制单元格比例),支持动态切换列数与间距。 - 虚拟列表 + 分页加载:只渲染可视区±
buffer内的卡片(每列二分查找);触底基于IntersectionObserver哨兵触发load-more,loading/finished控制底部状态,内容不足一屏自动续载。 - 零抖动:卡片高度布局时一次性确定(真实宽高比 →
ratios兜底比例池按下标取模),加载前后 0 回流;scrollbar-gutter: stable防滚动条引起列宽跳变。 - 双滚动模式:
scroller="self"(固定高度容器内滚动)/scroller="window"(自然撑开跟随页面滚动)。 - 性能:布局数据绕开深层响应式,分页追加增量布局不重排已有卡片,滚动 rAF 节流,卡片
translate3dGPU 合成,容器尺寸变化自动重排(ResizeObserver)。 - 默认以
ShLazyImage渲染图片(骨架屏 + 淡入 + 失败兜底),#item插槽完全自定义卡片(extra-height预留标题区);#loading/#finished/#empty插槽与对应文案属性自定义底部与空状态。 - 入场动画(上滑回弹)默认开启,
animate可关;暴露relayout()/scrollTo()/check()方法;事件load-more/item-click/scroll。
- 双布局:
🔧 修改
- 放宽 Vue 版本要求:
peerDependencies由^3.3.0放宽至^3.2.0(构建产物仅使用 Vue 3.2 已有的运行时 API,Vue 3.2 项目可正常安装使用)。
0.0.5
2026-07-25
✨ 新增
ShSeamlessScroll新增wheel属性:悬停暂停时支持滚轮手动滚动,进度与自动滚动无缝衔接(滚到边界自动循环),悬停期间不带动页面滚动。
0.0.4
2026-07-24
✨ 新增
- 新增
ShSeamlessScroll无缝滚动组件:支持上/下/左/右四向滚动、悬停暂停、步进滚动(single-step+single-wait)、动态启停(active)与实时调速(speed,px/秒)。 - 性能:动画循环绕开 Vue 响应式(每帧直接写
transform,零重渲染),translate3d+will-changeGPU 合成,离开视口自动暂停(IntersectionObserver),内容变化自动重测(ResizeObserver)。
0.0.3
2026-07-24
✨ 新增
ShLazyImage新增自定义加载器loader(返回 URL 或 Blob,Blob 自动createObjectURL并在切换/卸载时回收),可对接鉴权图片接口。ShLazyImage新增lazy="observer"视口懒加载模式(IntersectionObserver +root-margin预加载)。ShLazyImage新增poll-interval轮询刷新与keep-previous-on-reload(刷新时保留上一张、失败不闪断)。ShLazyImage新增skeleton骨架屏开关与placeholder-src占位图属性。
🔧 修改
- ⚠️
ShLazyImage的load/error事件载荷调整为对象:load→{ url },error→{ error }(原为原生Event)。 ShLazyImage内部状态新增idle(observer模式尚未进入视口时)。
0.0.2
2026-07-24
✨ 新增
- 新增
ShLazyImage懒加载图片组件:骨架屏占位、原生懒加载、加载淡入;加载失败兜底(展示兜底插图 + 文案),支持通过#error插槽完全自定义(作用域参数{ src, text }),并提供error-text/error-src/show-error-image等属性。
0.0.1
2026-07-24
🎉 首次发布
- 新增
ShCopyButton复制按钮组件:一键复制文本,内置成功反馈,支持type/size/ 自定义文案。 - 新增
useClipboard组合式函数:响应式copied状态 + 复制能力。
