4.29.9 RadzenDropDown SelectedItemChanged keeps repeating forever #1208

Closed
opened 2026-01-29 17:50:31 +00:00 by claunia · 0 comments
Owner

Originally created by @iotalambda on GitHub (Apr 23, 2024).

To Reproduce

<RadzenDropDown @bind-Value=@Value
                SelectedItemChanged=@(s =>
                {
                    selectedItem = (ItemType)s;
                    Console.WriteLine($"selectedItem changed: {selectedItem.Value}");
                })
                Data=@data
                TextProperty=@(nameof(ItemType.Text))
                ValueProperty=@(nameof(ItemType.Value)) />

@code {
    class ItemType
    {
        public string Value { get; set; }
        public string Text { get; set; }
    }

    string Value { get; set; }

    ItemType selectedItem;
    ItemType[] data;

    protected override void OnInitialized()
    {
        data = [new() { Value = "Item1", Text = "Item One" }, new() { Value = "Item2", Text = "Item Two" }];
        Value = data[0].Value;
    }
}

Expected behavior
RadzenDropDown SelectedItemChanged should be invoked only when the selected item has changed

Actual behavior
Console output:

selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1
selectedItem changed: Item1

Additional context
Did not occur in 4.29.8

Originally created by @iotalambda on GitHub (Apr 23, 2024). **To Reproduce** ```razor <RadzenDropDown @bind-Value=@Value SelectedItemChanged=@(s => { selectedItem = (ItemType)s; Console.WriteLine($"selectedItem changed: {selectedItem.Value}"); }) Data=@data TextProperty=@(nameof(ItemType.Text)) ValueProperty=@(nameof(ItemType.Value)) /> @code { class ItemType { public string Value { get; set; } public string Text { get; set; } } string Value { get; set; } ItemType selectedItem; ItemType[] data; protected override void OnInitialized() { data = [new() { Value = "Item1", Text = "Item One" }, new() { Value = "Item2", Text = "Item Two" }]; Value = data[0].Value; } } ``` **Expected behavior** RadzenDropDown SelectedItemChanged should be invoked only when the selected item has changed **Actual behavior** Console output: ``` selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 selectedItem changed: Item1 ``` **Additional context** Did not occur in 4.29.8
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/radzen-blazor#1208