MudSelect组件Change事件无法触发问题求助
解决MudSelect多选时Change事件无法触发的问题
问题原因
你当前的事件绑定方式不符合MudBlazor组件的规范:
@bind-SelectedValues:event用于指定双向绑定的系统事件名,而非自定义方法名- 原生
@onchange事件不适用于MudBlazor组件,需使用组件自身暴露的SelectedValuesChanged事件
修复后的代码
组件渲染代码
<MudSelect T="string" Label="US States" MultiSelection="true" @bind-SelectedValues="_selectedLevels" SelectedValuesChanged="OnLevelChange"> @foreach (var level in levels) { <MudSelectItem T="string" Value="@level.Value">@level.Text</MudSelectItem> } </MudSelect>
后台逻辑代码(无需修改)
private IEnumerable<string> _selectedLevels = new List<string> { "Error", "Warn" }; private async Task OnLevelChange(IEnumerable<string> selectedLevels) { await loggrid.ReloadServerData(); }
额外检查项
- 确认
levels集合已正确初始化并包含有效数据 - 检查MudSelect是否被设置为
Disabled="true"(如果是会阻止事件触发) - 确保
MudSelectItem的Value属性与_selectedLevels的元素类型匹配(这里都是string,无问题)
内容的提问来源于stack exchange,提问作者user49126
相关产品推荐
相关产品推荐

