# Toy Button 组件 基于涂鸦丫设计规范的按钮组件,当前视觉参考 `stitch-ui/letterTracing/code.html` 中底部“分享 / 保存到相册”按钮,内部不依赖 Vant。 ## 功能特性 - ✅ 多种按钮类型:primary、secondary、green、white - ✅ 丰富的状态:正常、禁用、加载中 - ✅ 扁平化模式支持 - ✅ 图标支持 - ✅ 自定义尺寸 - ✅ 参考设计稿的缩放点击动效 - ✅ 与 doodle-ui 样式完全一致 ## 使用方法 ### 基础用法 ```xml 主要按钮 次要按钮 绿色按钮 白色按钮 ``` ### 按钮状态 ```xml 禁用按钮 加载中 扁平按钮 ``` ### 带图标按钮 ```xml 添加 编辑 ``` ### 自定义尺寸 ```xml 自定义宽度 自定义高度 ``` ## 属性说明 | 属性 | 类型 | 默认值 | 说明 | | --------------- | ------- | ---------- | ------------------------------------------ | | type | String | 'default' | 按钮类型:primary、secondary、green、white | | disabled | Boolean | false | 是否禁用 | | loading | Boolean | false | 是否显示加载状态 | | flat | Boolean | false | 是否扁平化模式 | | plain | Boolean | false | 是否朴素模式(仅white类型有效) | | width | String | '' | 按钮宽度 | | height | String | '' | 按钮高度 | | icon | String | '' | 图标名称 | | iconColor | String | '#ffffff' | 图标颜色 | | iconSize | String | '44rpx' | 图标大小 | | iconClassPrefix | String | 'toy-icon' | 图标类名前缀 | ## 事件说明 | 事件名 | 说明 | 回调参数 | | ------ | -------------- | -------- | | click | 点击按钮时触发 | event | ## 样式说明 ### 按钮类型 - **primary**: 黄色背景 (#FFD700),深色文字 (#6c5a00) - **secondary**: 绿色背景 (#9CD343),白色文字 - **green**: 绿色背景 (#9CD343),白色文字(与secondary相同) - **white**: 米白背景,深色文字,浅边框 ### 点击动效 - 所有按钮都支持 `scale(0.95)` 的点击缩放效果 - `flat` 模式下更接近底部操作栏按钮视觉 - 动效持续时间约为 180ms ### 禁用状态 - 背景色变为浅灰色 (#F5F5F5) - 文字颜色变为浅灰色 (#CCCCCC) - 移除阴影效果 ## 设计规范 本组件完全遵循 doodle-ui 的设计规范: - 圆角:24rpx (对应 doodle-ui 的 12px) - 字体大小:48rpx (对应 doodle-ui 的 24px) - 字体粗细:600 - 内边距:0 48rpx - 最小宽度:240rpx - 过渡动画:0.15s ease-in-out - 点击动效:抖动缩放动画 ## 测试页面 可以通过访问 `pages/buttonTest/buttonTest` 页面查看所有按钮类型的效果。 ## 更新日志 ### v2.1.0 - 修复圆角大小,与 doodle-ui 保持一致 (24rpx) - 修复字体大小,与 doodle-ui 保持一致 (48rpx) - 修复点击抖动效果,移除 wxs 中的 setTimeout - 优化按钮动画,使用纯 CSS 实现抖动效果 - 改进所有按钮类型的点击反馈 ### v2.0.0 - 完全重构样式,与 doodle-ui 保持一致 - 添加 secondary 类型支持 - 优化点击动效 - 改进扁平化模式 - 统一设计规范