408 StatusSetter 状态设置
用途
编辑自定义状态文字和表情,选择清除期限。
最小示例
status := messaging.CustomStatus{Emoji: "🎻", Text: "Rehearsing"}
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
if messaging.StatusSetter(c, &status, messaging.StatusSetterOptions{}).Changed() {
_ = status // publish it; clear it once status.Until passes
}
}
ui.Render(view, 400, 300, 1)参数
CustomStatus 保存 Emoji、Text、Until;零 Until 表示持续保留。Location 默认 time.Local;Disabled 默认 false。清除选项为持续保留、30 分钟、1 小时、4 小时、当天结束、本周结束。
状态
默认、聚焦和悬停状态沿用主题、密度与文字缩放;适用操作在自身或祖先禁用时停止处理。
事件
Changed() 表示表情、文字或清除期限改变。调用方载入已有期限时显示实际时间,选择持续保留可清除期限。
键盘操作
Tab 访问表情、文字、期限和清除按钮;选择器用方向键移动、Enter 确认、Escape 关闭。
限制
Until 作为业务期限返回,调用方负责届时清除状态;组件保持空闲。

