216 BranchNavigator 分支切换
用途
在一条消息的多个分支间切换,显示“< 2 / 3 >”。
最小示例
if chat.BranchNavigator(c, &branch, 3).Changed() {
fmt.Println("show branch", branch)
}签名:func BranchNavigator(c *ui.Context, index *int, count int) ChoiceResult
参数
| 字段 | 类型 | 默认值 | 含义 |
|---|---|---|---|
index | *int | 必填 | 当前分支,0 起;不在 0 到 count−1 之间时 panic。 |
count | int | 必填 | 分支数,至少 1。 |
状态
首末分支时对应箭头禁用;切换时向辅助技术播报“第 n 个分支,共 m 个”。
事件
Changed():分支改变。
键盘操作
整个控件是一个 Tab 停靠点:Left/Right 切换,Home、End 到第一个与最后一个;箭头按钮只响应指针。
限制
- 箭头按钮不进入 Tab 序列,避免到达首末分支时焦点停在禁用按钮上。

