New to Kendo UI for AngularStart a free 30-day trial

Angular MultiSelect Data Binding

Updated on Mar 27, 2026

The Angular MultiSelect provides flexible data-binding to display items in its dropdown list. Set the data property to an array of primitive values (strings or numbers) or complex objects.

Choose the binding approach that best fits your data source and application requirements.

You can bind the MultiSelect to:

Binding to Local Data

Local data binding refers to providing the data directly in the component. The MultiSelect supports the following local data types:

Arrays of Primitive Data

To bind the MultiSelect to an array of strings or numbers, assign the array to the data property. No additional configuration is required because the component uses the primitive values as both display text and underlying values.

html
<kendo-multiselect [data]="['Baseball', 'Basketball', 'Tennis']"></kendo-multiselect>

The following example demonstrates how to bind the MultiSelect to an array of primitive data.

Change Theme
Theme
Loading ...

Arrays of Complex Data

To bind the MultiSelect to an array of objects, set the textField and valueField properties. The textField property specifies which object field the component displays in the dropdown list, while the valueField property specifies which field the component uses as the item value.

html
<kendo-multiselect
    [data]="products"
    textField="productName"
    valueField="productId">
</kendo-multiselect>

To emit primitive values instead of objects when the user selects items, set the valuePrimitive property to true. For more details, refer to the Value Binding article.

The following example demonstrates how to bind the MultiSelect to an array of complex data.

Change Theme
Theme
Loading ...

Binding to Remote Data

For remote data scenarios, the MultiSelect supports the following approaches:

Services

You can fetch data from a remote endpoint through an Angular service and assign the result to the data property. This approach gives you full control over request parameters and response handling.

The following example demonstrates how to bind the MultiSelect to remote data by using a service.

Change Theme
Theme
Loading ...

Async Pipe

To bind the MultiSelect directly to an Observable, use the Angular async pipe. The async pipe subscribes to the Observable and updates the data property automatically when new data arrives.

html
<kendo-multiselect [data]="products$ | async"></kendo-multiselect>

The following example demonstrates how to bind the MultiSelect to an asynchronous source.

Change Theme
Theme
Loading ...

Streaming of Data

The MultiSelect also supports binding to Observables that emit values over time. Use the async pipe to subscribe to the Observable and update the dropdown list as new values arrive.

html
<kendo-multiselect [data]="listItems | async"></kendo-multiselect>

The following example starts with an empty Observable, produces one random value each second, and emits values in batches of five.

Change Theme
Theme
Loading ...