PopoverMenu
在原生浮窗中渲染的紧凑型模型驱动菜单。
#导入
从 github.com/egoist/quickgui/go/ui 导入 ui。
import (
"fmt"
"github.com/egoist/quickgui/go/native"
"github.com/egoist/quickgui/go/ui"
)#用法
func PopoverMenuExample() *ui.Element {
menu := ui.NewPopoverMenu(ui.PopoverMenuRootProps{Items: func() []ui.MenuItemDeclaration {
return []ui.MenuItemDeclaration{{ID: "copy", Label: "Copy"}, {ID: "paste", Label: "Paste"}}
}, OnSelect: func(item ui.MenuSelectDetails, _ *native.Event) {
fmt.Println(item.ID)
}})
return menu.Root().Children(
menu.Trigger().Child("Edit"),
menu.Popup(),
)
}#结构
popoverMenu.RootpopoverMenu.TriggerpopoverMenu.Popup
#API 参考
展开条目查看说明和完整签名。短横线表示声明中未记录默认值。
NewPopoverMenu
查看源码ui.NewPopoverMenu(props ...PopoverMenuRootProps) *PopoverMenuComponentNewPopoverMenu declares a PopoverMenu instance. Optional props provide initial settings.
ChildrenComponent—
Content mounted inside the component. Compound child callbacks run after the parent context exists.
Component查看源码Itemsfunc() []MenuItemDeclaration—
Items made available to the control. Use stable item values to preserve selection.
func() []MenuItemDeclaration查看源码Appearance*MenuAppearance—
Openfunc() bool—
DefaultOpenbool—
OnOpenChangefunc(bool, PopoverMenuOpenChangeDetails)—
Reports a requested visibility change, including dismissal.
func(bool, PopoverMenuOpenChangeDetails)查看源码OnSelectfunc(MenuSelectDetails, *native.Event)—
Placementstring—
Gap*float64—
ViewportMargin*float64—
DismissOnEscape*bool—
DismissOnPointerOutside*bool—
PopoverMenu.Items
查看源码popoverMenu.Items(value any) *PopoverMenuComponentItems made available to the control. Use stable item values to preserve selection.
PopoverMenu.Appearance
查看源码popoverMenu.Appearance(value *MenuAppearance) *PopoverMenuComponentStructural colors and geometry for a core-painted native menu or picker.
PopoverMenu.Open
查看源码popoverMenu.Open(value any) *PopoverMenuComponentControlled visibility of the panel or overlay. Pair with the open-change callback.
PopoverMenu.DefaultOpen
查看源码popoverMenu.DefaultOpen(value bool) *PopoverMenuComponentInitial visibility when the component owns its open state.
PopoverMenu.OnOpenChange
查看源码popoverMenu.OnOpenChange(value func(bool, PopoverMenuOpenChangeDetails)) *PopoverMenuComponentReports a requested visibility change, including dismissal.
PopoverMenu.OnSelect
查看源码popoverMenu.OnSelect(value func(MenuSelectDetails, *native.Event)) *PopoverMenuComponentReports the menu entry selected by the core.
PopoverMenu.Placement
查看源码popoverMenu.Placement(value string) *PopoverMenuComponentRequested native child-window placement.
PopoverMenu.Gap
查看源码popoverMenu.Gap(value float64) *PopoverMenuComponentSpace between adjacent children, in logical pixels.
PopoverMenu.ViewportMargin
查看源码popoverMenu.ViewportMargin(value float64) *PopoverMenuComponentMinimum space reserved around the surface within the viewport.
PopoverMenu.DismissOnEscape
查看源码popoverMenu.DismissOnEscape(value bool) *PopoverMenuComponentAllows Escape to dismiss the surface.
PopoverMenu.DismissOnPointerOutside
查看源码popoverMenu.DismissOnPointerOutside(value bool) *PopoverMenuComponentAllows a pointer press outside the surface to dismiss it.
PopoverMenu.Root
查看源码popoverMenu.Root() *ElementConfigures root for this part. The declared type and source define the accepted value.
PopoverMenu.Trigger
查看源码popoverMenu.Trigger(options ...PartProps) *ElementConfigures trigger 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)—
PopoverMenu.Popup
查看源码popoverMenu.Popup(options ...PopoverMenuPopupProps) *ElementConfigures popup 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)—
Width*float64—
OnSelectfunc(*native.Event)—
OnDismissfunc(*native.Event)—
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查看源码