Declined
Last Updated: 26 Nov 2025 12:00 by ADMIN
Andrew
Created on: 28 Jun 2017 22:34
Category: AutoComplete
Type: Feature Request
18
Autocomplete access the whole object in valueChange event
It would be nice to have access to a valueChange event in the autocomplete similar to the other dropdowns. This way when binding against arrays of complex objects, we could receive the whole object selected instead of the single value property out of it.
5 comments
ADMIN
Dimiter Topalov
Posted on: 26 Nov 2025 12:00

Hi,

We are closing this feature request as it directly contradicts with the fundamental design of the component - more specifically, the AutoComplete supports binding to string values only:

https://www.telerik.com/kendo-angular-ui-develop/components/dropdowns/autocomplete/value-binding#value-binding

The value/valueChange Input/Output combination serves the purpose of allowing the natural Angular two-way binding syntax - [(value)]="myValue", and thus the event data that is automatically assigned to the component value needs to be a string too.

To obtain the complex data object in the valueChange event handler, the developer can perform a simple array opperation (e.g. filter or  find) and provide a predicate that matches the event data with the field configured as valueField of the data item, e.g.:

https://www.telerik.com/kendo-angular-ui-develop/components/dropdowns/autocomplete/data-binding#arrays-of-complex-data

https://stackblitz.com/run/?file=src%2Fapp%2Fapp.component.ts

Regards,
Dimiter Topalov
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Rutvik
Posted on: 13 Oct 2020 13:26

Hi Andrew,

Did you get any solution for it?

Regards,

Rutvik Nagarkar

mark
Posted on: 12 Sep 2017 23:58
a kendoAutoCompleteValueTemplate would also be handy.
Justin
Posted on: 14 Aug 2017 16:52
I thought I had a workaround for this using the template however, stop prop is called on enter if the popup is open (I get the reasoning). 
 <span (keydown)="getSelectedItem(dataItem)" (click)="getSelectedItem(dataItem)">{{ dataItem.formatted_address }}</span>

if you only care about click and never expect the user to hit enter then this could work for you.
Justin
Posted on: 14 Aug 2017 16:27
I agree this would be great to have access to the selected object. I thought this would be supported as the template exposes the data items but it just complains that the value is not a string. Even if the value change sent the full object, index, and new value that would work as well. But having the selection change would be boss so if you wanted to hijack the selection you could do that before the value change.