New to Kendo UI for Angular? Start a free 30-day trial

Value Binding

The MultiSelectTree value can be an array of either primitive (strings, numbers, or other) or complex values (objects).

To set the value, apply any of the following approaches:

  • Use the value property. If the value is set through the value property, you have to hook up to the valueChange event and manually update the value of the value property.
  • Use the ngModel value binding. If the value is set by the ngModel value binding, the framework automatically will update the corresponding field from the model after the value of the component changes.
  • Use the formControlName value binding available in the Reactive forms. If the value is set by the formControlName value binding, the framework automatically will update the corresponding field from the form model after the value of the component changes.
  • The MultiSelectTree does not support the simultaneous usage of the value property and the ngModel value binding.
  • The MultiSelectTree does not support values which contain \n new line characters. The regular input HTML DOM element which the MultiSelectTree uses internally treats \n as a regular whitespace. Therefore, when the component compares the value of the input element with the data item that is selected by the user, the two values differ, the value of the input element is actually not present in the data of the component, and the MultiSelectTree does not recognize it. To handle such issues, map the incoming data so that it contains regular whitespaces only.

When binding the MultiSelectTree value, the component provides options for:

Primitive Values

If the value is of a primitive type, the valuePrimitive property needs to be set to true and dataItems must be provided. The value property of the dataItems will be associated with the valueField and the text to display will be extracted from the textField of the objects.

Primitive data types include:

  • String
  • Number
  • Undefined
  • Null
Example
View Source
Edit In Stackblitz  
Change Theme:

Heterogenous Data Type

When valueField and textField are string[], always specify valueDepth. If you do not provide a value for the field, the MultiSelectTree will look for the first property match from dataItems in the valueField which may result in incorrect value match.

Example
View Source
Edit In Stackblitz  
Change Theme:

Object Values

If the MultiSelectTree is bound to a dataset of objects, its value will be an object of the same type.

When the selected item is an object, always specify valueField. If you do not a set value for the field, the MultiSelectTree will compare the items by reference, which may complicate debugging. For example, the selected value will not be applied, if it does not reference the exact passed data object.

Example
View Source
Edit In Stackblitz  
Change Theme: