Skip to content

Button 按钮

常用的操作按钮。

实现原理

使用 MouseRegion 嵌套 GestureDetector 、Container 、Icon 、Text 等组件实现回调函数及样式

基础用法 MouseRegion

使用 typeisPlainisRound 属性来定义按钮的样式。

isCircle 可以控制组件展示圆形,但是仅在只传入一个 Icon 的时候生效

查看代码

禁用状态

使用 disabled 属性来控制按钮是否为禁用状态。 使用 disabled 属性来控制按钮是否为禁用状态。 该属性接受一个 Boolean 类型的值。

查看代码

图标按钮

使用 icon 属性来为按钮添加图标

查看代码

链接按钮

使用 link 属性来定义链接按钮。

查看代码

加载状态

使用 loading 属性来显示加载状态。

使用 autoLoading 属性 控制 onclick 触发时 是否自动调用 loading 动画,并在结束时消失,仅在 onclick 的函数为异步函数时生效

当然也可以用状态管理的方式手动实现 loading

查看代码

按钮尺寸

使用 size 属性来定义按钮的尺寸。

查看代码

自定义颜色

使用 color 属性来自定义按钮的颜色。

查看代码

自定义内容

使用 child 属性来自定义按钮的内容。

查看代码

api 调用

使用 onHoveronPressedonLongPressed 属性来定义按钮的回调函数。

onHover 属性会在鼠标悬停时触发,鼠标进入时返回 true, 离开时返回 false,只在 web 端有效

onPressed 属性会在按钮被点击时触发

onLongPressed 属性会在按钮被长按时触发

查看代码

API

Button 属性

属性名说明类型默认值
text按钮文字String-
type按钮类型ElementButtonTypeElementButtonType.default
size按钮尺寸ElementButtonSizeElementButtonSize.medium
fontSize自定义按钮文字大小, 按钮尺寸会根据文字大小自动调整double-
color自定义背景颜色,文字颜色会根据背景颜色自动计算Color-
link是否为链接按钮booleanfalse
icon图标Widget-
child自定义按钮内容,会覆盖 Icon 和 Text,优先级最高Widget-
isPlain是否为朴素按钮booleanfalse
isRound是否为圆角按钮booleanfalse
loading是否为加载中状态booleanfalse
autoLoadingonclick 触发时 是否自动调用 loading 动画,并在结束时消失booleanfalse
isDisabled是否禁用按钮booleanfalse

Button 事件

事件名说明参数
onPressed点击按钮时触发() => void
onHover鼠标悬停时触发, 鼠标进入时返回 true, 离开时返回 false,只在 web 端有效(bool isHover) => void
onLongPressed长按按钮时触发() => void

基于 MIT 协议发布