Button
主题化按钮:变体、尺寸、禁用和点击回调都按常见 shadcn 习惯暴露。
用法
Button {
variant: ButtonVariant::Outline,
size: ButtonSize::Sm,
disabled: Some(false),
full: true,
onclick: move |_| save(),
"保存"
}
Props
| Prop | 类型 | 说明 |
|---|---|---|
variant |
ButtonVariant |
Default、Secondary、Outline、Ghost、Destructive、Link |
size |
ButtonSize |
Default 36vp、Sm 32vp、Lg 40vp、Icon 36×36vp |
disabled |
Option<bool> |
禁止 native event,并降低透明度 |
width |
Option<String> |
CSS 宽度("100%"、"120");优先于 full |
full |
bool |
占满父容器可用宽度,默认 false |
onclick |
EventHandler<()> |
点击回调 |
children |
Element |
文本、图标或自定义行 |
行为
Button 不持有提交状态。异步任务期间由调用方设置 disabled,并在 children 中切换 Spinner/文案。Destructive 只提供视觉语义,不自动弹确认框。
Icon size 只控制外框;children 中的图标自行选择 16–20vp。Link variant 是按钮视觉,不替代 Router Link。