Class
TelerikDropDownTree<TValue>

Represents a Telerik UI for Blazor DropDownTree component that allows users to select a single value from a hierarchical tree structure displayed in a dropdown. Provides features like filtering, load-on-demand, custom templates, and adaptive mobile layouts for optimal user experience across all devices.

Definition

Namespace:Telerik.Blazor.Components

Assembly:Telerik.Blazor.dll

Type Parameters:

TValue

The type of the selected value used for binding. Must match the type of the property specified in ValueField.

Syntax:

cs-api-definition
public class TelerikDropDownTree<TValue> : TelerikSelectBase<object, TValue>, IComponent, IHandleEvent, IHandleAfterRender, IDisposable, IPopupContainer

Inheritance: objectComponentBaseBaseComponentDataBoundComponent<object>TelerikSelectBase<object, TValue>TelerikDropDownTree<TValue>

Implements: IComponentIDisposableIHandleAfterRenderIHandleEventIPopupContainer

Inherited Members TelerikSelectBase<object, TValue>.OnParametersSetAsync()TelerikSelectBase<object, TValue>.OnInitializedAsync()TelerikSelectBase<object, TValue>.Dispose()TelerikSelectBase<object, TValue>.FocusAsync()TelerikSelectBase<object, TValue>.Open()TelerikSelectBase<object, TValue>.Close()TelerikSelectBase<object, TValue>.Refresh()TelerikSelectBase<object, TValue>.DebounceChangeValue(string)TelerikSelectBase<object, TValue>.CascadedEditContextTelerikSelectBase<object, TValue>.FloatingLabelTelerikSelectBase<object, TValue>.DataSmartPasteDescriptionAttributeTelerikSelectBase<object, TValue>.IdTelerikSelectBase<object, TValue>.ValueFieldTelerikSelectBase<object, TValue>.TextFieldTelerikSelectBase<object, TValue>.GroupFieldTelerikSelectBase<object, TValue>.HeaderTemplateTelerikSelectBase<object, TValue>.FooterTemplateTelerikSelectBase<object, TValue>.NoDataTemplateTelerikSelectBase<object, TValue>.WidthTelerikSelectBase<object, TValue>.FilterableTelerikSelectBase<object, TValue>.TitleTelerikSelectBase<object, TValue>.SubtitleTelerikSelectBase<object, TValue>.AriaLabelTelerikSelectBase<object, TValue>.AriaLabelledByTelerikSelectBase<object, TValue>.AriaDescribedByTelerikSelectBase<object, TValue>.ReadOnlyTelerikSelectBase<object, TValue>.InputModeTelerikSelectBase<object, TValue>.ScrollModeTelerikSelectBase<object, TValue>.ItemHeightTelerikSelectBase<object, TValue>.PageSizeTelerikSelectBase<object, TValue>.EnabledTelerikSelectBase<object, TValue>.ValueExpressionTelerikSelectBase<object, TValue>.ValueChangedTelerikSelectBase<object, TValue>.ValueTelerikSelectBase<object, TValue>.TabIndexTelerikSelectBase<object, TValue>.AdaptiveModeTelerikSelectBase<object, TValue>.OnChangeTelerikSelectBase<object, TValue>.OnBlurTelerikSelectBase<object, TValue>.FillModeTelerikSelectBase<object, TValue>.RoundedTelerikSelectBase<object, TValue>.SizeTelerikSelectBase<object, TValue>.ProcessingDataDataBoundComponent<object>.Rebind()DataBoundComponent<object>.DataBaseComponent.ShouldRender()BaseComponent.OnInitializedAsync()BaseComponent.InitLocalizer()BaseComponent.ThrowIfParameterIsNull(object, string)BaseComponent.HaveOptionsChanged(IDictionary<string, object>, IDictionary<string, object>)BaseComponent.GetClassString(params string[])BaseComponent.InvokeAsync<T>(string, params object[])BaseComponent.InvokeAsync<T>(string, CancellationToken, params object[])BaseComponent.InvokeVoidAsync(string, params object[])BaseComponent.InvokeComponentMethodAsync<T>(string, params object[])BaseComponent.InvokeComponentMethodAsync<T>(string, CancellationToken, params object[])BaseComponent.InvokeVoidComponentMethodAsync(string, params object[])BaseComponent.InvokeComponentVoidMethodAsync(string, object)BaseComponent.InvokeDisposeAsync()BaseComponent.StateHasChanged()BaseComponent.RootComponentBaseComponent.ClassComponentBase.OnInitialized()ComponentBase.OnParametersSet()ComponentBase.OnAfterRender(bool)ComponentBase.InvokeAsync(Action)ComponentBase.InvokeAsync(Func<Task>)ComponentBase.DispatchExceptionAsync(Exception)

Properties

DefaultText

Creates a default placeholder item displayed when no value is selected, allowing users to understand the dropdown's purpose. The default text appears in the input area when Value is null or default. Example: "Select a category", "Choose location", "-- None --".

Declaration

cs-api-definition
[Parameter]
public string? DefaultText { get; set; }

Property Value

string

DropDownTreeBindings

The DropDownTree items have features that map to properties in the model. The container enables you to create DropDownTreeBinding tags and configure the mappings. Children: DropDownTreeBinding tags.

Declaration

cs-api-definition
[Parameter]
public RenderFragment? DropDownTreeBindings { get; set; }

Property Value

RenderFragment

DropDownTreeSettings

Configures advanced dropdown popup behavior including animations, positioning, dimensions, and collision detection. Children: DropDownTreePopupSettings component with properties for animation duration, popup dimensions, and positioning options.

Declaration

cs-api-definition
[Parameter]
public RenderFragment? DropDownTreeSettings { get; set; }

Property Value

RenderFragment

ExpandedItems

Defines the collection of currently expanded items in the DropDownTree hierarchy. Use to pre-expand specific branches when the dropdown opens or to track user expansion interactions. Supports two-way binding with ExpandedItemsChanged for state persistence.

Declaration

cs-api-definition
[Parameter]
public IEnumerable<object> ExpandedItems { get; set; }

Property Value

IEnumerable<object>

ExpandedItemsChanged

Fires when the ExpandedItems collection changes due to user interaction with expand/collapse icons. Use for state persistence, synchronizing with parent components, or triggering load-on-demand operations.

Declaration

cs-api-definition
[Parameter]
public EventCallback<IEnumerable<object>> ExpandedItemsChanged { get; set; }

Property Value

EventCallback<IEnumerable<object>>

FilterDebounceDelay

Controls the delay in milliseconds between when a user stops typing and when the filter operation executes. Prevents excessive filtering during rapid typing, improving performance with large hierarchical datasets. Recommended range: 100-300ms for optimal balance of responsiveness and performance.

Declaration

cs-api-definition
[Parameter]
public int FilterDebounceDelay { get; set; }

Property Value

int

FilterOperator

Controls how the dropdown filters tree items when Filterable is enabled. StartsWith filters items that begin with the user input - fastest and most intuitive. Contains searches anywhere within the text - best for finding items in large hierarchies.

Declaration

cs-api-definition
[Parameter]
public StringFilterOperator FilterOperator { get; set; }

Property Value

StringFilterOperator

FilterPlaceholder

Sets the placeholder text displayed in the filter input field when Filterable is enabled. Provides users with guidance on how to search through the tree hierarchy. Example: "Type to search...", "Filter items", "Search categories".

Declaration

cs-api-definition
[Parameter]
public string? FilterPlaceholder { get; set; }

Property Value

string

OnClose

Fires when the dropdown popup is about to close, regardless of whether a selection was made. Use for cleanup operations, saving draft selections, or analytics tracking. Set IsCancelled to true to prevent the dropdown from closing.

Declaration

cs-api-definition
[Parameter]
public EventCallback<DropDownTreeCloseEventArgs> OnClose { get; set; }

Property Value

EventCallback<DropDownTreeCloseEventArgs>

OnExpand

Fires when the user expands or collapses a tree node in the dropdown. Essential for implementing load-on-demand scenarios where child items are fetched when a node is expanded. The event provides the data item being expanded and its new expanded state.

Declaration

cs-api-definition
[Parameter]
public EventCallback<DropDownTreeExpandEventArgs> OnExpand { get; set; }

Property Value

EventCallback<DropDownTreeExpandEventArgs>

OnFocus

Fires when the dropdown component gains focus, either through user interaction or programmatically.

Declaration

cs-api-definition
[Parameter]
public EventCallback OnFocus { get; set; }

Property Value

EventCallback

OnItemClick

Fires when the user clicks, taps, or presses Enter on a tree item in the dropdown. Use for custom selection logic, navigation, or triggering additional actions beyond the default selection behavior.

Declaration

cs-api-definition
[Parameter]
public EventCallback<DropDownTreeItemClickEventArgs> OnItemClick { get; set; }

Property Value

EventCallback<DropDownTreeItemClickEventArgs>

OnItemRender

Executes custom logic when each tree item renders, allowing dynamic CSS class assignment based on item data. Use to highlight specific items, indicate status, apply conditional styling, or add accessibility attributes.

Declaration

cs-api-definition
[Parameter]
public Action<DropDownTreeItemRenderEventArgs>? OnItemRender { get; set; }

Property Value

Action<DropDownTreeItemRenderEventArgs>

OnOpen

Fires when the dropdown popup is about to open, allowing you to cancel the operation or perform setup actions. Use for lazy loading tree data, logging user interactions, or preparing dynamic content. Set IsCancelled to true in the event handler to prevent the dropdown from opening.

Declaration

cs-api-definition
[Parameter]
public EventCallback<DropDownTreeOpenEventArgs> OnOpen { get; set; }

Property Value

EventCallback<DropDownTreeOpenEventArgs>

OnRead

Fires when the dropdown needs to load data, enabling custom data operations like server-side filtering and load-on-demand. Once implemented, you must handle all data operations yourself - the component will no longer perform automatic filtering. Essential for large hierarchical datasets or integration with external APIs and databases.

Declaration

cs-api-definition
[Parameter]
public EventCallback<DropDownTreeReadEventArgs> OnRead { get; set; }

Property Value

EventCallback<DropDownTreeReadEventArgs>

SelectedDataItem

Declaration

cs-api-definition
protected TreeViewItem? SelectedDataItem { get; set; }

Property Value

TreeViewItem

ShowClearButton

Controls whether a clear button (X icon) appears inside the input field for quick date removal. Clear button appears only when the component has a value - empty fields don't show the clear button.

Declaration

cs-api-definition
[Parameter]
public bool ShowClearButton { get; set; }

Property Value

bool

ValueTemplate

Customizes how the selected value appears in the dropdown input field using a custom template. Provides access to the selected data item for displaying formatted content, icons, or complex layouts. Example: Show category icon and name, display location with region info, or format hierarchical path. Children: allows arbitrary content including HTML elements, components, and data binding expressions.

Declaration

cs-api-definition
[Parameter]
public RenderFragment<object>? ValueTemplate { get; set; }

Property Value

RenderFragment<object>

Methods

AddBinding(ITreeBinding)

Declaration

cs-api-definition
public void AddBinding(ITreeBinding binding)

Parameters

binding

ITreeBinding

BuildRenderTree(RenderTreeBuilder)

Declaration

cs-api-definition
protected override void BuildRenderTree(RenderTreeBuilder __builder)

Parameters

__builder

RenderTreeBuilder

Overrides ComponentBase.BuildRenderTree(RenderTreeBuilder)

Dispose()

Declaration

cs-api-definition
public override void Dispose()

Overrides TelerikSelectBase<object, TValue>.Dispose()

GetBinding(int?)

Declaration

cs-api-definition
public ITreeBinding? GetBinding(int? level)

Parameters

level

int?

Returns

ITreeBinding

OnAfterRenderAsync(bool)

Declaration

cs-api-definition
protected override Task OnAfterRenderAsync(bool firstRender)

Parameters

firstRender

bool

Returns

Task

Overrides BaseComponent.OnAfterRenderAsync(bool)

OnParametersSetAsync()

Declaration

cs-api-definition
protected override Task OnParametersSetAsync()

Returns

Task

Overrides TelerikSelectBase<object, TValue>.OnParametersSetAsync()

RemoveBinding(ITreeBinding)

Declaration

cs-api-definition
public void RemoveBinding(ITreeBinding binding)

Parameters

binding

ITreeBinding

SetParametersAsync(ParameterView)

Declaration

cs-api-definition
public override Task SetParametersAsync(ParameterView parameters)

Parameters

parameters

ParameterView

Returns

Task

Overrides TelerikSelectBase<object, TValue>.SetParametersAsync(ParameterView)