Tree
虚拟化层级集合,支持展开、选择和键盘导航。
正在加载交互演示…
func TreeExample() *ui.Element {
nodes := []ui.TreeNodeDeclaration{{ID: "src", Label: "src", Children: []ui.TreeNodeDeclaration{{ID: "src/main.go", Label: "main.go"}}}}
tree := ui.NewTree(ui.TreeRootProps{Nodes: func() []ui.TreeNodeDeclaration {
return nodes
}, DefaultExpanded: []string{"src"}, RowHeight: 26, PartProps: ui.PartProps{Style: ui.Style().Height(200)}})
return tree.Root().Children(
tree.Row(ui.TreeRowProps{NodeID: "src"}).Child("src"),
tree.Row(ui.TreeRowProps{NodeID: "src/main.go"}).Child("main.go"),
)
}#导入
从 github.com/egoist/quickgui/go/ui 导入 ui。
import (
"github.com/egoist/quickgui/go/ui"
)#用法
func TreeExample() *ui.Element {
nodes := []ui.TreeNodeDeclaration{{ID: "src", Label: "src", Children: []ui.TreeNodeDeclaration{{ID: "src/main.go", Label: "main.go"}}}}
tree := ui.NewTree(ui.TreeRootProps{Nodes: func() []ui.TreeNodeDeclaration {
return nodes
}, DefaultExpanded: []string{"src"}, RowHeight: 26, PartProps: ui.PartProps{Style: ui.Style().Height(200)}})
return tree.Root().Children(
tree.Row(ui.TreeRowProps{NodeID: "src"}).Child("src"),
tree.Row(ui.TreeRowProps{NodeID: "src/main.go"}).Child("main.go"),
)
}#结构
tree.Roottree.Row
#API 参考
展开条目查看说明和完整签名。短横线表示声明中未记录默认值。
NewTree
查看源码ui.NewTree(props ...TreeRootProps) *TreeComponentNewTree declares a Tree instance. Optional props provide initial settings.
Reffunc(*native.Node)—
Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.
func(*native.Node)查看源码Styleany—
Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.
any查看源码ChildrenPartChildren—
Content mounted inside the component. Compound child callbacks run after the parent context exists.
PartChildren查看源码Disabledany—
Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.
any查看源码Rolestring—
FocusOnPointerany—
Groupany—
AriaLabelany—
TabIndex*float64—
Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.
*float64查看源码OnClickfunc(*native.Event)—
Called after QuickGUI resolves an activation, including supported keyboard activation.
func(*native.Event)查看源码OnDoubleClickfunc(*native.Event)—
OnContextMenufunc(*native.Event)—
OnPointerfunc(*native.Event)—
OnMouseEnterfunc(*native.Event)—
OnMouseLeavefunc(*native.Event)—
OnMouseDownfunc(*native.Event)—
OnMouseUpfunc(*native.Event)—
OnKeyDownfunc(*native.Event)—
OnKeyUpfunc(*native.Event)—
OnFocusfunc(*native.Event)—
OnBlurfunc(*native.Event)—
Nodesfunc() []TreeNodeDeclaration—
Expandedfunc() []string—
DefaultExpanded[]string—
Valuefunc() *string—
The current controlled value. Update application state from the change callback to accept a new value.
func() *string查看源码RowHeightany—
LoadingLabelstring—
Disclosurestring—
SetChildrenfunc() *TreeChildrenSplice—
OnExpandedChangefunc([]string, *native.Event)—
OnValueChangefunc(*string, *native.Event)—
Reports an accepted value change. Use the callback payload to update controlled state.
func(*string, *native.Event)查看源码OnLoadChildrenfunc(string, *native.Event)—
Callback for load children. The signature below lists the event payload.
func(string, *native.Event)查看源码OnVisibleRangeChangefunc(VisibleRange, *native.Event)—
Callback for visible range change. The signature below lists the event payload.
func(VisibleRange, *native.Event)查看源码OnActivatefunc(string, *native.Event)—
Tree.Disabled
查看源码tree.Disabled(value any) *TreeComponentPrevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.
Tree.Nodes
查看源码tree.Nodes(value any) *TreeComponentBounded hierarchical node declarations for the tree.
Tree.Expanded
查看源码tree.Expanded(value any) *TreeComponentControlled expanded tree node identifiers.
Tree.DefaultExpanded
查看源码tree.DefaultExpanded(value []string) *TreeComponentInitially expanded tree nodes for an uncontrolled tree.
Tree.Value
查看源码tree.Value(value any) *TreeComponentThe current controlled value. Update application state from the change callback to accept a new value.
Tree.RowHeight
查看源码tree.RowHeight(value any) *TreeComponentLogical height of each virtualized row.
Tree.LoadingLabel
查看源码tree.LoadingLabel(value string) *TreeComponentText displayed while a tree node’s children are loading.
Tree.Disclosure
查看源码tree.Disclosure(value string) *TreeComponentControls the disclosure indicator associated with a tree row.
Tree.SetChildren
查看源码tree.SetChildren(value any) *TreeComponentCallback used to construct and replace the part’s children.
Tree.OnExpandedChange
查看源码tree.OnExpandedChange(value func([]string, *native.Event)) *TreeComponentReports the ordered node identifiers expanded by the core.
Tree.OnValueChange
查看源码tree.OnValueChange(value func(*string, *native.Event)) *TreeComponentReports an accepted value change. Use the callback payload to update controlled state.
Tree.OnLoadChildren
查看源码tree.OnLoadChildren(value func(string, *native.Event)) *TreeComponentCallback for load children. The signature below lists the event payload.
Tree.OnVisibleRangeChange
查看源码tree.OnVisibleRangeChange(value func(VisibleRange, *native.Event)) *TreeComponentCallback for visible range change. The signature below lists the event payload.
Tree.OnActivate
查看源码tree.OnActivate(value func(string, *native.Event)) *TreeComponentCallback for activate. The signature below lists the event payload.
Tree.Root
查看源码tree.Root() *ElementConfigures root for this part. The declared type and source define the accepted value.
Tree.Row
查看源码tree.Row(options ...TreeRowProps) *ElementConfigures row for this part. The declared type and source define the accepted value.
Reffunc(*native.Node)—
Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.
func(*native.Node)查看源码Styleany—
Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.
any查看源码ChildrenPartChildren—
Content mounted inside the component. Compound child callbacks run after the parent context exists.
PartChildren查看源码Disabledany—
Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.
any查看源码Rolestring—
FocusOnPointerany—
Groupany—
AriaLabelany—
TabIndex*float64—
Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.
*float64查看源码OnClickfunc(*native.Event)—
Called after QuickGUI resolves an activation, including supported keyboard activation.
func(*native.Event)查看源码OnDoubleClickfunc(*native.Event)—
OnContextMenufunc(*native.Event)—
OnPointerfunc(*native.Event)—
OnMouseEnterfunc(*native.Event)—
OnMouseLeavefunc(*native.Event)—
OnMouseDownfunc(*native.Event)—
OnMouseUpfunc(*native.Event)—
OnKeyDownfunc(*native.Event)—
OnKeyUpfunc(*native.Event)—
OnFocusfunc(*native.Event)—
OnBlurfunc(*native.Event)—
NodeIDstring—
Element
查看源码part.Child(content).Style(style)Every part returns a fluent element. Strings, numbers, elements, and deferred child factories compose directly.
ChildChild(child any) *Element—
Child appends content and returns this element. Content can be an element, native node, scalar, accessor, or node-returning construction callback.
Child(child any) *Element查看源码ChildrenChildren(children ...any) *Element—
Children appends multiple children in order without replacing existing content. It also accepts []any, []*Element, and []*native.Node slices as arguments. Read the retained child nodes through element.Node.Children.
Children(children ...any) *Element查看源码StyleStyle(style StyleBuilder) *Element—
Style merges a reusable style. Scalar accessors retain independent native bindings.
Style(style StyleBuilder) *Element查看源码OnClickOnClick(handler func()) *Element—
RefRef(handler func(*native.Node)) *Element—
Ref exposes the native handle once at this point in the declaration chain.
Ref(handler func(*native.Node)) *Element查看源码