Tree
A virtualized hierarchical collection with expansion, selection, and keyboard navigation.
Loading interactive demo…
<Tree.Root
nodes={nodes}
expanded={expanded()}
value={selected()}
onExpandedChange={setExpanded}
onValueChange={setSelected}
>
<For each={visibleNodes()}>{(node) =>
<Tree.Row nodeId={node.id}><Text>{node.label}</Text></Tree.Row>
}</For>
</Tree.Root>#Import
Import Tree from @quickgui/solid.
import { Tree } from "@quickgui/solid";#Usage
<Tree.Root
nodes={nodes}
expanded={expanded()}
value={selected()}
onExpandedChange={setExpanded}
onValueChange={setSelected}
>
<For each={visibleNodes()}>{(node) =>
<Tree.Row nodeId={node.id}><Text>{node.label}</Text></Tree.Row>
}</For>
</Tree.Root>#Anatomy
Tree.RootTree.Row
<Tree.Root>
<Tree.Row />
</Tree.Root>#API reference
Expand an entry for its description and complete signature. A dash means no declaration default is documented.
Tree
View sourceTree(props: JSX.TreeProps): NativeNodeaccessibilityLabelstring—
Declares accessibilityLabel (optional). Reactive JSX expressions update this property in place.
stringView sourcechildrenunknown—
Declares children (optional). Reactive JSX expressions update this property in place.
unknownView sourcestyleStyleProp—
Layout, typography, paint, and interaction-state styles. Arrays merge left to right.
StylePropView sourcedisabledboolean—
Declares disabled (optional). Reactive JSX expressions update this property in place.
booleanView sourceinvalidboolean—
Expose web-style invalid state; the `style.invalid` variant paints while it is set.
booleanView sourceselectedboolean—
Expose web-style selected state; the `style.selected` variant paints while it is set.
booleanView sourcegroupboolean | string—
Makes this element the group its descendants' `groupHover` and `groupActive` styles follow, like Tailwind's `group`: `true` opens an unnamed group, and a string names it so a descendant can follow it past a nearer group with `groupHover: { group: "name" }`.
boolean | stringView sourcerolestring—
tabIndexnumber—
Declares tabIndex (optional). Reactive JSX expressions update this property in place.
numberView sourcefocusOnPointerboolean—
overlayboolean—
focusTrapboolean—
restorePreviousFocusboolean—
autoFocusboolean—
aria-modalboolean—
ariaModalboolean—
Declares ariaModal (optional). Reactive JSX expressions update this property in place.
booleanView sourcedismissOnEscapeboolean—
Declares dismissOnEscape (optional). Reactive JSX expressions update this property in place.
booleanView sourcedismissOnPointerOutsideboolean—
Declares dismissOnPointerOutside (optional). Reactive JSX expressions update this property in place.
booleanView sourcetooltipstring—
tooltipPlacementPopoverPlacement—
Declares tooltipPlacement (optional). Reactive JSX expressions update this property in place.
PopoverPlacementView sourcetooltipDelaynumber—
tooltipGapnumber—
Declares tooltipGap (optional). Reactive JSX expressions update this property in place.
numberView sourcetooltipViewportMarginnumber—
Declares tooltipViewportMargin (optional). Reactive JSX expressions update this property in place.
numberView sourcehitSlopnumber | string—
Declares hitSlop (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopTopnumber | string—
Declares hitSlopTop (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopRightnumber | string—
Declares hitSlopRight (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopBottomnumber | string—
Declares hitSlopBottom (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopLeftnumber | string—
Declares hitSlopLeft (optional). Reactive JSX expressions update this property in place.
number | stringView sourcearia-labelstring—
Declares aria-label (optional). Reactive JSX expressions update this property in place.
stringView sourceariaLabelstring—
Declares ariaLabel (optional). Reactive JSX expressions update this property in place.
stringView sourceref((node: NativeNode) => void) | NativeNode—
Declares ref (optional). Reactive JSX expressions update this property in place.
((node: NativeNode) => void) | NativeNodeView sourceonClickEventHandler—
Declares onClick (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseEnterEventHandler—
Declares onMouseEnter (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseLeaveEventHandler—
Declares onMouseLeave (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPointerEnterEventHandler—
Declares onPointerEnter (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPointerLeaveEventHandler—
Declares onPointerLeave (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPointerEventHandler—
Captured pointer stream from press through release/cancel, including outside the element.
EventHandlerView sourceonInputEventHandler—
Declares onInput (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonChangeEventHandler—
Declares onChange (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonSubmitEventHandler—
Declares onSubmit (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonDismissEventHandler—
Declares onDismiss (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonKeyDownEventHandler—
Focused key press. Declare a `tabIndex` to make an ordinary container focusable.
EventHandlerView sourceonKeyUpEventHandler—
Declares onKeyUp (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseDownEventHandler—
Declares onMouseDown (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseUpEventHandler—
Declares onMouseUp (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseMoveEventHandler—
Declares onMouseMove (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonDoubleClickEventHandler—
onWheelEventHandler—
Declares onWheel (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonContextMenuEventHandler—
onPinchEventHandler—
Declares onPinch (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonRotateEventHandler—
Declares onRotate (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonSmartMagnifyEventHandler—
Declares onSmartMagnify (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPressureEventHandler—
Declares onPressure (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonFocusEventHandler—
Declares onFocus (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonBlurEventHandler—
Declares onBlur (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourcekeymapKeymap—
onActionEventHandler—
draggableboolean | DragSource—
onDragStartEventHandler—
Declares onDragStart (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonDragEndEventHandler—
Declares onDragEnd (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourcedropKindsDropKind | readonly DropKind[]—
Payload kinds this element accepts, declared ahead of the native drag.
DropKind | readonly DropKind[]View sourceonDropEventHandler—
Declares onDrop (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonFilesDroppedEventHandler—
Declares onFilesDropped (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourcescopestring—
nodesreadonly TreeNodeDeclaration[]—
Declares nodes (optional). Reactive JSX expressions update this property in place.
readonly TreeNodeDeclaration[]View sourceexpandedreadonly string[]—
defaultExpandedreadonly string[]—
Declares defaultExpanded (optional). Reactive JSX expressions update this property in place.
readonly string[]View sourcevaluestring—
rowHeightnumber—
Declares rowHeight (optional). Reactive JSX expressions update this property in place.
numberView sourceloadingLabelstring—
disclosure"leading" | "trailing" | "none"—
Where the core's behavior-only disclosure control is mounted inside a declared row.
"leading" | "trailing" | "none"View sourcesetChildren{ id: string; children: readonly TreeNodeDeclaration[] }—
One bounded, atomically validated lazy-children splice.
{ id: string; children: readonly TreeNodeDeclaration[] }View sourceonExpandedChange(expanded: readonly string[], event: QuickGuiEvent) => void—
Declares onExpandedChange (optional). Reactive JSX expressions update this property in place.
(expanded: readonly string[], event: QuickGuiEvent) => voidView sourceonValueChange(value: string | undefined, event: QuickGuiEvent) => void—
Declares onValueChange (optional). Reactive JSX expressions update this property in place.
(value: string | undefined, event: QuickGuiEvent) => voidView sourceonLoadChildren(id: string, event: QuickGuiEvent) => void—
A pending branch asks for its children exactly once, when it is first expanded.
(id: string, event: QuickGuiEvent) => voidView sourceonVisibleRangeChange(range: VisibleRange, event: QuickGuiEvent) => void—
Declares onVisibleRangeChange (optional). Reactive JSX expressions update this property in place.
(range: VisibleRange, event: QuickGuiEvent) => voidView sourceonActivate(id: string, event: QuickGuiEvent) => void—
Declares onActivate (optional). Reactive JSX expressions update this property in place.
(id: string, event: QuickGuiEvent) => voidView sourceTree.Root
View sourceTree.Root(props: JSX.TreeProps): NativeNodeaccessibilityLabelstring—
Declares accessibilityLabel (optional). Reactive JSX expressions update this property in place.
stringView sourcechildrenunknown—
Declares children (optional). Reactive JSX expressions update this property in place.
unknownView sourcestyleStyleProp—
Layout, typography, paint, and interaction-state styles. Arrays merge left to right.
StylePropView sourcedisabledboolean—
Declares disabled (optional). Reactive JSX expressions update this property in place.
booleanView sourceinvalidboolean—
Expose web-style invalid state; the `style.invalid` variant paints while it is set.
booleanView sourceselectedboolean—
Expose web-style selected state; the `style.selected` variant paints while it is set.
booleanView sourcegroupboolean | string—
Makes this element the group its descendants' `groupHover` and `groupActive` styles follow, like Tailwind's `group`: `true` opens an unnamed group, and a string names it so a descendant can follow it past a nearer group with `groupHover: { group: "name" }`.
boolean | stringView sourcerolestring—
tabIndexnumber—
Declares tabIndex (optional). Reactive JSX expressions update this property in place.
numberView sourcefocusOnPointerboolean—
overlayboolean—
focusTrapboolean—
restorePreviousFocusboolean—
autoFocusboolean—
aria-modalboolean—
ariaModalboolean—
Declares ariaModal (optional). Reactive JSX expressions update this property in place.
booleanView sourcedismissOnEscapeboolean—
Declares dismissOnEscape (optional). Reactive JSX expressions update this property in place.
booleanView sourcedismissOnPointerOutsideboolean—
Declares dismissOnPointerOutside (optional). Reactive JSX expressions update this property in place.
booleanView sourcetooltipstring—
tooltipPlacementPopoverPlacement—
Declares tooltipPlacement (optional). Reactive JSX expressions update this property in place.
PopoverPlacementView sourcetooltipDelaynumber—
tooltipGapnumber—
Declares tooltipGap (optional). Reactive JSX expressions update this property in place.
numberView sourcetooltipViewportMarginnumber—
Declares tooltipViewportMargin (optional). Reactive JSX expressions update this property in place.
numberView sourcehitSlopnumber | string—
Declares hitSlop (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopTopnumber | string—
Declares hitSlopTop (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopRightnumber | string—
Declares hitSlopRight (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopBottomnumber | string—
Declares hitSlopBottom (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopLeftnumber | string—
Declares hitSlopLeft (optional). Reactive JSX expressions update this property in place.
number | stringView sourcearia-labelstring—
Declares aria-label (optional). Reactive JSX expressions update this property in place.
stringView sourceariaLabelstring—
Declares ariaLabel (optional). Reactive JSX expressions update this property in place.
stringView sourceref((node: NativeNode) => void) | NativeNode—
Declares ref (optional). Reactive JSX expressions update this property in place.
((node: NativeNode) => void) | NativeNodeView sourceonClickEventHandler—
Declares onClick (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseEnterEventHandler—
Declares onMouseEnter (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseLeaveEventHandler—
Declares onMouseLeave (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPointerEnterEventHandler—
Declares onPointerEnter (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPointerLeaveEventHandler—
Declares onPointerLeave (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPointerEventHandler—
Captured pointer stream from press through release/cancel, including outside the element.
EventHandlerView sourceonInputEventHandler—
Declares onInput (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonChangeEventHandler—
Declares onChange (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonSubmitEventHandler—
Declares onSubmit (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonDismissEventHandler—
Declares onDismiss (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonKeyDownEventHandler—
Focused key press. Declare a `tabIndex` to make an ordinary container focusable.
EventHandlerView sourceonKeyUpEventHandler—
Declares onKeyUp (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseDownEventHandler—
Declares onMouseDown (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseUpEventHandler—
Declares onMouseUp (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseMoveEventHandler—
Declares onMouseMove (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonDoubleClickEventHandler—
onWheelEventHandler—
Declares onWheel (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonContextMenuEventHandler—
onPinchEventHandler—
Declares onPinch (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonRotateEventHandler—
Declares onRotate (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonSmartMagnifyEventHandler—
Declares onSmartMagnify (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPressureEventHandler—
Declares onPressure (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonFocusEventHandler—
Declares onFocus (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonBlurEventHandler—
Declares onBlur (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourcekeymapKeymap—
onActionEventHandler—
draggableboolean | DragSource—
onDragStartEventHandler—
Declares onDragStart (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonDragEndEventHandler—
Declares onDragEnd (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourcedropKindsDropKind | readonly DropKind[]—
Payload kinds this element accepts, declared ahead of the native drag.
DropKind | readonly DropKind[]View sourceonDropEventHandler—
Declares onDrop (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonFilesDroppedEventHandler—
Declares onFilesDropped (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourcescopestring—
nodesreadonly TreeNodeDeclaration[]—
Declares nodes (optional). Reactive JSX expressions update this property in place.
readonly TreeNodeDeclaration[]View sourceexpandedreadonly string[]—
defaultExpandedreadonly string[]—
Declares defaultExpanded (optional). Reactive JSX expressions update this property in place.
readonly string[]View sourcevaluestring—
rowHeightnumber—
Declares rowHeight (optional). Reactive JSX expressions update this property in place.
numberView sourceloadingLabelstring—
disclosure"leading" | "trailing" | "none"—
Where the core's behavior-only disclosure control is mounted inside a declared row.
"leading" | "trailing" | "none"View sourcesetChildren{ id: string; children: readonly TreeNodeDeclaration[] }—
One bounded, atomically validated lazy-children splice.
{ id: string; children: readonly TreeNodeDeclaration[] }View sourceonExpandedChange(expanded: readonly string[], event: QuickGuiEvent) => void—
Declares onExpandedChange (optional). Reactive JSX expressions update this property in place.
(expanded: readonly string[], event: QuickGuiEvent) => voidView sourceonValueChange(value: string | undefined, event: QuickGuiEvent) => void—
Declares onValueChange (optional). Reactive JSX expressions update this property in place.
(value: string | undefined, event: QuickGuiEvent) => voidView sourceonLoadChildren(id: string, event: QuickGuiEvent) => void—
A pending branch asks for its children exactly once, when it is first expanded.
(id: string, event: QuickGuiEvent) => voidView sourceonVisibleRangeChange(range: VisibleRange, event: QuickGuiEvent) => void—
Declares onVisibleRangeChange (optional). Reactive JSX expressions update this property in place.
(range: VisibleRange, event: QuickGuiEvent) => voidView sourceonActivate(id: string, event: QuickGuiEvent) => void—
Declares onActivate (optional). Reactive JSX expressions update this property in place.
(id: string, event: QuickGuiEvent) => voidView sourceTree.Row
View sourceTree.Row(props: JSX.TreeRowProps): NativeNodeaccessibilityLabelstring—
Declares accessibilityLabel (optional). Reactive JSX expressions update this property in place.
stringView sourcechildrenunknown—
Declares children (optional). Reactive JSX expressions update this property in place.
unknownView sourcestyleStyleProp—
Layout, typography, paint, and interaction-state styles. Arrays merge left to right.
StylePropView sourcedisabledboolean—
Declares disabled (optional). Reactive JSX expressions update this property in place.
booleanView sourceinvalidboolean—
Expose web-style invalid state; the `style.invalid` variant paints while it is set.
booleanView sourceselectedboolean—
Expose web-style selected state; the `style.selected` variant paints while it is set.
booleanView sourcegroupboolean | string—
Makes this element the group its descendants' `groupHover` and `groupActive` styles follow, like Tailwind's `group`: `true` opens an unnamed group, and a string names it so a descendant can follow it past a nearer group with `groupHover: { group: "name" }`.
boolean | stringView sourcerolestring—
tabIndexnumber—
Declares tabIndex (optional). Reactive JSX expressions update this property in place.
numberView sourcefocusOnPointerboolean—
overlayboolean—
focusTrapboolean—
restorePreviousFocusboolean—
autoFocusboolean—
aria-modalboolean—
ariaModalboolean—
Declares ariaModal (optional). Reactive JSX expressions update this property in place.
booleanView sourcedismissOnEscapeboolean—
Declares dismissOnEscape (optional). Reactive JSX expressions update this property in place.
booleanView sourcedismissOnPointerOutsideboolean—
Declares dismissOnPointerOutside (optional). Reactive JSX expressions update this property in place.
booleanView sourcetooltipstring—
tooltipPlacementPopoverPlacement—
Declares tooltipPlacement (optional). Reactive JSX expressions update this property in place.
PopoverPlacementView sourcetooltipDelaynumber—
tooltipGapnumber—
Declares tooltipGap (optional). Reactive JSX expressions update this property in place.
numberView sourcetooltipViewportMarginnumber—
Declares tooltipViewportMargin (optional). Reactive JSX expressions update this property in place.
numberView sourcehitSlopnumber | string—
Declares hitSlop (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopTopnumber | string—
Declares hitSlopTop (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopRightnumber | string—
Declares hitSlopRight (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopBottomnumber | string—
Declares hitSlopBottom (optional). Reactive JSX expressions update this property in place.
number | stringView sourcehitSlopLeftnumber | string—
Declares hitSlopLeft (optional). Reactive JSX expressions update this property in place.
number | stringView sourcearia-labelstring—
Declares aria-label (optional). Reactive JSX expressions update this property in place.
stringView sourceariaLabelstring—
Declares ariaLabel (optional). Reactive JSX expressions update this property in place.
stringView sourceref((node: NativeNode) => void) | NativeNode—
Declares ref (optional). Reactive JSX expressions update this property in place.
((node: NativeNode) => void) | NativeNodeView sourceonClickEventHandler—
Declares onClick (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseEnterEventHandler—
Declares onMouseEnter (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseLeaveEventHandler—
Declares onMouseLeave (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPointerEnterEventHandler—
Declares onPointerEnter (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPointerLeaveEventHandler—
Declares onPointerLeave (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPointerEventHandler—
Captured pointer stream from press through release/cancel, including outside the element.
EventHandlerView sourceonInputEventHandler—
Declares onInput (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonChangeEventHandler—
Declares onChange (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonSubmitEventHandler—
Declares onSubmit (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonDismissEventHandler—
Declares onDismiss (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonKeyDownEventHandler—
Focused key press. Declare a `tabIndex` to make an ordinary container focusable.
EventHandlerView sourceonKeyUpEventHandler—
Declares onKeyUp (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseDownEventHandler—
Declares onMouseDown (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseUpEventHandler—
Declares onMouseUp (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonMouseMoveEventHandler—
Declares onMouseMove (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonDoubleClickEventHandler—
onWheelEventHandler—
Declares onWheel (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonContextMenuEventHandler—
onPinchEventHandler—
Declares onPinch (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonRotateEventHandler—
Declares onRotate (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonSmartMagnifyEventHandler—
Declares onSmartMagnify (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonPressureEventHandler—
Declares onPressure (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonFocusEventHandler—
Declares onFocus (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonBlurEventHandler—
Declares onBlur (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourcekeymapKeymap—
onActionEventHandler—
draggableboolean | DragSource—
onDragStartEventHandler—
Declares onDragStart (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonDragEndEventHandler—
Declares onDragEnd (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourcedropKindsDropKind | readonly DropKind[]—
Payload kinds this element accepts, declared ahead of the native drag.
DropKind | readonly DropKind[]View sourceonDropEventHandler—
Declares onDrop (optional). Reactive JSX expressions update this property in place.
EventHandlerView sourceonFilesDroppedEventHandler—
Declares onFilesDropped (optional). Reactive JSX expressions update this property in place.
EventHandlerView source