39 lines
1.2 KiB
Markdown
39 lines
1.2 KiB
Markdown
# 408 StatusSetter 状态设置
|
||
|
||
## 用途
|
||
|
||
编辑自定义状态文字和表情,选择清除期限。
|
||
|
||
## 最小示例
|
||
|
||
```go
|
||
status := mujica.CustomStatus{Emoji: "🎻", Text: "Rehearsing"}
|
||
view := func(c *ui.Context) {
|
||
mujica.Use(c, mujica.Settings{})
|
||
if mujica.StatusSetter(c, &status, mujica.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 作为业务期限返回,调用方负责届时清除状态;组件保持空闲。
|