OGE logoOGE

Tree Select

<oge-tree-select> is the hierarchical counterpart of <oge-select-box>: the same field chrome — label modes, validation subscript, clear button, Signal Forms and reactive forms — with a full oge-tree-view as the popup. It is a WAI-ARIA combobox with aria-haspopup="tree"; opening moves real DOM focus into the tree, so the tree's own APG keyboard map (arrows, Home/End, type-ahead, *) keeps working.

combobox signals tri-state lazy load

Basic usage

The committed value is the selected node's key. A single click picks a node and closes the popup; the chevron expands, so choosing never fights with browsing. Double-click also expands — expandEvent changes that.

[(value)] keyExpr / parentIdExpr clear button

value: null

Point itemsExpr at the children field for hierarchical payloads. searchEnabled puts the tree's own search box inside the popup — accent-insensitive, auto-expanding to matches and highlighting them.

itemsExpr searchEnabled

value: null

Multiple selection

With multiple the value becomes an array of keys and the popup stays open while you pick. Checking a node cascades to its descendants and normalizes up, so selectedKeysMode: 'leavesOnly' is often what you actually want to store.

selectionMode showCheckBoxes selectedKeysMode

value: (none)

Lazy load on demand

Bind only the roots and let loadChildren fetch the rest on first expand; a placeholder row shows while the promise is pending. Fetched nodes join the index, so a cascading selection reaches them too.

loadChildren hasItemsExpr