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)—
Callback for activate. The signature below lists the event payload.
func(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ソースを見る