37 lines
986 B
Markdown
37 lines
986 B
Markdown
# 240 SearchProgress 搜索进度
|
||
|
||
## 用途
|
||
|
||
搜索中关键词与已读来源数;阶段列表;完成后折叠。
|
||
|
||
## 最小示例
|
||
|
||
```go
|
||
view := func(c *ui.Context) {
|
||
core.Use(c, core.Settings{})
|
||
stages := []chat.SearchStage{{Label: "Searching the web", Done: true}, {Label: "Reading sources"}}
|
||
chat.SearchProgress(c, chat.SearchProgressOptions{Query: "Versailles", Read: 3, Total: 8, Stages: stages})
|
||
}
|
||
ui.Render(view, 400, 300, 1)
|
||
```
|
||
|
||
## 参数
|
||
|
||
`Query` 必填;`Read`、`Total` 满足 0 ≤ Read ≤ Total;`Stages` 每项提供 `Label` 与 `Done`;`Done=false`,完成时自动折叠一次。
|
||
|
||
## 状态
|
||
|
||
搜索中展开,完成后自动折叠;Done 从 true 切换为 false 时展开下一次搜索;支持键盘焦点与祖先禁用。
|
||
|
||
## 事件
|
||
|
||
ChoiceResult.Changed() 表示用户展开或折叠。
|
||
|
||
## 键盘操作
|
||
|
||
Tab 到折叠标题;Enter、Space 展开或收起。
|
||
|
||
## 限制
|
||
|
||
网络搜索由调用方执行,阶段与来源数量由调用方更新。
|