Tree Select

A searchable hierarchy picker that opens a tree in a popover below a select-style trigger, with single selection or cascading multi-selection stored as stable string keys.

Single Selection

Supply nested objects through Items and three selectors: ValueField for a stable key, TextField for the label, and ChildrenProperty for the branch. Keys must be unique across the whole hierarchy, not just among siblings. Enter selects a node and closes the popup; Space expands or collapses a branch without selecting it.

Multiple Selection with Cascading Checkboxes

Set Multiple and every node gets a checkbox. Checking a parent reaches every descendant — including collapsed branches and nodes hidden by the current search. A partly checked parent shows an indeterminate box (aria-checked="mixed"). With LeafOnly only leaf keys land in Values, which is usually what you want to store.

Leaf Only, No Search, Disabled

In single mode LeafOnly makes branch rows unselectable — clicking one leaves the value alone and keeps the popup open. Turn off ShowSearch for small trees and Clearable when the field is mandatory. A disabled picker keeps its caption but cannot be opened.

Inside an EditForm

Both modes integrate with EditContext — ValueExpression in single mode and ValuesExpression in multiple mode, supplied automatically by the bindings. Every change notifies the field, and the trigger gets aria-invalid="true" while it has messages.