Razor/Blazor(WASM)页面更新后不刷新:MudBlazor Table组件问题排查
根因说明
该问题为MudBlazor Table组件的已知适配问题:当组件处于行选中状态时,内部状态更新逻辑会被阻塞,即使绑定的数据源发生变化,组件也不会重新渲染。通过原生foreach遍历同一个数据源可正常输出更新后内容,即可验证仅MudTable组件本身未响应数据变更。
修复方案
按优先级尝试以下操作即可解决:
- 每次执行时隙更新操作后,先手动清空MudTable的选中状态
// 在UpdateTimeSlot方法调用OnParametersSetAsync之前添加 selectedItem = null; // 如果有MudTable的引用变量比如mudTableRef,再加一行 await mudTableRef.SetSelectedItem(null); - 替换MudTable绑定的数据源类型:不要使用
IEnumerable<T>类型的currentTimeSlots,改为绑定List<TimeSlotDto>类型,每次RefreshDb执行时重新实例化列表,而不是复用原有集合实例 - 数据更新完成后手动调用MudTable的重载方法触发渲染:
await mudTableRef.ReloadServerData();
内容的提问来源于stack exchange,提问作者Nicolas Lewentorp
相关产品推荐
相关产品推荐

