MujicaUI

Dashboards & Dev Tools · #455

SchemaTree 浅色主题渲染快照
浅色 · 渲染快照
SchemaTree 深色主题渲染快照
深色 · 渲染快照

455 SchemaTree · 数据库结构树

用途

显示数据库、表、视图、列和索引树。

最小示例

roots := []devtools.SchemaNode{{Name: "app", Children: []devtools.SchemaNode{{Name: "users", Kind: devtools.SchemaTable, Children: []devtools.SchemaNode{{Name: "id", Kind: devtools.SchemaColumn, Detail: "bigint"}, {Name: "users_pk", Kind: devtools.SchemaIndex, Detail: "(id)"}}}}}}
var state devtools.SchemaTreeState
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	if devtools.SchemaTree(c, &state, roots, devtools.SchemaTreeOptions{}).Changed() {
		path, _ := state.Selected()
		fmt.Println("selected", path)
	}
}
ui.Render(view, 720, 480, 1)

参数

state 必填;Height 默认 360 DIP;Name 必填,兄弟名称唯一;Kind 使用枚举,Detail 为类型说明。

状态

展开、折叠、选择、空结构、父级禁用。

事件

Changed() 报告选择变化;state.Selected() 返回路径。

键盘操作

Tab 进入树;上下选择;左右展开折叠。

限制

路径以斜线分隔;节点名称须保持路径唯一;更新结构提交新切片。