|
<p>AutoComplete value is: @AutoVal</p>
<SfAutoComplete @ref="autoObj" ID="autocomplete" TValue="string" TItem="Countries" @bind-Value="@AutoVal" Placeholder="e.g. Australia" DataSource="@Country">
<AutoCompleteFieldSettings Text="Name" Value="Code"></AutoCompleteFieldSettings>
<AutoCompleteEvents Filtering="OnFiltering" TValue="string"></AutoCompleteEvents>
</SfAutoComplete>
@code {
public string AutoVal;
SfAutoComplete<string, Countries> autoObj;
public Query query;
public class Countries
{
public string Name { get; set; }
public string Code { get; set; }
}
List<Countries> Country = new List<Countries>
{
new Countries() { Name = "Australia", Code = "AU" },
new Countries() { Name = "Bermuda", Code = "BM" },
new Countries() { Name = "Canada", Code = "CA" },
new Countries() { Name = "Cameroon", Code = "CM" },
};
public async Task OnFiltering(FilteringEventArgs e)
{
e.PreventDefaultAction = true;
query = new Query().Where(new WhereFilter()
{
Field = "Name",
value = e.Text,
Operator = "startswith",
IgnoreCase = true
});
await this.autoObj.Filter(Country, query);
}
} |
Think about it... you would only ever want to "Search" the values being displayed in text. If you wanted to search values... then you would display display the value as text. This is a real UX issue and not very intuitive.