The ComboBox and MultiColumnComboBox retain their TextField string label when the value is cleared programmatically. The issue starts to occur in version 14.1.0.
Test Page:
<ul>
<li><code>AutoCompleteValue</code>: @AutoCompleteValue</li>
<li><code>SelectedValue</code>: @SelectedValue</li>
<li><code>SelectedValueNullable</code>: @SelectedValueNullable</li>
<li><code>MultiSelectValues</code>: @string.Join(", ", MultiSelectValues)</li>
</ul>
<p>
<TelerikButton OnClick="@(() => {
AutoCompleteValue = string.Empty;
SelectedValue = default;
SelectedValueNullable = default;
MultiSelectValues = new();
})">Clear Values</TelerikButton>
</p>
<TelerikAutoComplete Data="@ListItems"
@bind-Value="@AutoCompleteValue"
ValueField="@nameof(ListItem.Text)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px" />
<br /><br />
<TelerikComboBox Data="@ListItems"
@bind-Value="@SelectedValue"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px" />
<TelerikComboBox Data="@ListItems"
@bind-Value="@SelectedValueNullable"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px" />
<br /><br />
<TelerikDropDownList Data="@ListItems"
@bind-Value="@SelectedValue"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
DefaultText="Select Item"
Width="300px" />
<TelerikDropDownList Data="@ListItems"
@bind-Value="@SelectedValueNullable"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
DefaultText="Select Item"
Width="300px" />
<br /><br />
<TelerikMultiColumnComboBox Data="@ListItems"
@bind-Value="@SelectedValue"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px">
<MultiColumnComboBoxColumns>
<MultiColumnComboBoxColumn Field="@nameof(ListItem.Id)" />
<MultiColumnComboBoxColumn Field="@nameof(ListItem.Text)" />
</MultiColumnComboBoxColumns>
</TelerikMultiColumnComboBox>
<TelerikMultiColumnComboBox Data="@ListItems"
@bind-Value="@SelectedValueNullable"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px">
<MultiColumnComboBoxColumns>
<MultiColumnComboBoxColumn Field="@nameof(ListItem.Id)" />
<MultiColumnComboBoxColumn Field="@nameof(ListItem.Text)" />
</MultiColumnComboBoxColumns>
</TelerikMultiColumnComboBox>
<br /><br />
<TelerikMultiSelect Data="@ListItems"
@bind-Value="@MultiSelectValues"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Items"
ShowArrowButton="true"
ShowClearButton="true"
AutoClose="false"
Width="600px" />
@code {
private List<ListItem> ListItems { get; set; } = new();
private int SelectedValue { get; set; } = 3;
private int? SelectedValueNullable { get; set; } = 3;
private string AutoCompleteValue { get; set; } = "Item 3";
private List<int> MultiSelectValues { get; set; } = new() { 3, 5 };
protected override void OnInitialized()
{
ListItems = new List<ListItem>();
for (int i = 1; i <= 24; i++)
{
ListItems.Add(new ListItem()
{
Id = i,
Text = $"Item {i}"
});
}
base.OnInitialized();
}
public class ListItem
{
public int Id { get; set; }
public string Text { get; set; } = string.Empty;
}
}