MujicaUI

Essentials · #483

HoldToConfirm 浅色主题渲染快照
浅色 · 渲染快照
HoldToConfirm 深色主题渲染快照
深色 · 渲染快照

483 HoldToConfirm 按住确认

用途

危险操作必须按住指针或空格键一段时间才执行,按住期间填充进度;减少动画时改为显示剩余秒数。

最小示例

view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	if input.HoldToConfirm(c, "Delete project", input.HoldToConfirmOptions{}).Changed() {
		// delete the project
	}
}

签名:func HoldToConfirm(c *ui.Context, label string, opts HoldToConfirmOptions) ChoiceResult

参数

字段类型默认值含义
labelstring必填按钮文字。
Durationtime.Duration1.5 秒需按住的时长;负数 panic。
Disabledboolfalse不响应。

状态

危险配色;按住时从左向右填充;减少动画时文字变为“继续按住… 1.2 秒”,宽度预留。松开或失去焦点即重置。完成后播报“已确认”。

事件

Changed():按满时长后报告一次;同一次按住不会重复报告。

键盘操作

Tab 聚焦后按住空格;单击、Enter 或短按空格都不会执行。

限制

按住空格依赖系统送来的按键抬起;窗口失去焦点时按住状态即重置。