MudBlazor Autocomplete组件已填充数据但搜索无结果问题咨询
MudBlazor Autocomplete无匹配结果修复方案
问题根因
MudBlazor Autocomplete组件的SearchFunc属性要求开发者自行实现搜索过滤逻辑,你当前代码中的Search方法无论用户输入什么内容,都直接返回全量的PropertyTransactionTypes集合,因此不会产生匹配筛选效果。
修复代码
修改razor.cs中的Search方法
private async Task<IEnumerable<PropertyTransactionType>> Search(string value) { // 输入为空时可按需返回全量数据或空集合 if (string.IsNullOrWhiteSpace(value)) return PropertyTransactionTypes; // 按照你界面展示的字段做模糊匹配,可按需调整匹配规则 return PropertyTransactionTypes.Where(item => item.TransactionType.Contains(value, StringComparison.OrdinalIgnoreCase) || item.Debit_Credit.Contains(value, StringComparison.OrdinalIgnoreCase)); }
可选配置优化
- 若数据量较大,可在MudAutocomplete组件上添加
DebounceInterval="300"参数,设置输入防抖间隔,减少搜索触发频率 - 若需要严格区分大小写匹配,删除匹配逻辑中的
StringComparison.OrdinalIgnoreCase参数即可
内容的提问来源于stack exchange,提问作者Ibanez1408
相关产品推荐
相关产品推荐

