FileExplorer
用途
组合文件夹树、文件列表、导航历史与多选。
最小示例
var state files.FileExplorerState
opts := files.FileExplorerOptions{
Roots: []string{"/court"},
Folders: func(string) []string { return nil },
Entries: func(string) []files.FileEntry {
return []files.FileEntry{{Path: "/court/seal.go", Name: "seal.go", Size: 1024}}
},
}
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
files.FileExplorer(c, &state, opts).Element.Height(240)
}
ui.Render(view, 600, 300, 1)参数
Roots、Folders、Entries 必填;Disabled 默认 false;Revision 用于原地更新条目。
状态
默认、焦点、禁用;空数据按组件内容展示。
事件
Navigated、Changed、Opened 返回本帧导航、选择和打开。
键盘操作
Tab 切换;方向键选择;Enter 打开;macOS Command+[ / ] / ↑,其他平台 Alt+← / → / ↑。
限制
文件及目录由调用方提供,读取与打开由调用方执行。条目 Path 必须唯一且非空;切片地址、长度或 Revision 变化时重建索引并清理已删除的选择。

