.net - 可以通过异步函数过滤 Blazor 数据网格吗?
问题描述
我正在开发一个 Blazor NET 5 项目。我在网格(MudTable)中显示数据,并了解如何使用属性 Filter="new Func<Dataset, bool>(Search)" 对其进行过滤,其中 Search 是
private bool Search(Dataset dataset)
{
if (string.IsNullOrWhiteSpace(searchString)) return true;
if (dataset.name.Contains(searchString, StringComparison.OrdinalIgnoreCase))
{
return true;
}
return false;
}
但现在我必须按异步方法响应的数据内容进行过滤。我的搜索方法将类似于
private async Task <bool> Search(Dataset dataset)
{
if (string.IsNullOrWhiteSpace(searchString)) return true;
if (dataset.name.Contains(searchString, StringComparison.OrdinalIgnoreCase))
{
var response = await Http.GetAsync($"api/Files/metadata/Download?directory={dataset.Name}");
if response.metadata.descr != "" return true;
}
return false;
}
这是否仍然可以使用 Func 属性作为过滤器,还是我必须找到另一种方法?
解决方案
根据他们的文档网站,有一种方法:
https://mudblazor.com/api/table
ServerData Func<TableState, Task<TableData>>
提供一个异步函数,从服务器(重新)加载过滤、分页和排序的数据。Table 将等待这个函数并根据返回的 TableData 进行更新。仅与 ServerData 一起使用
推荐阅读
- php - 将 PHP 加密/解密移植到 Node.js
- apache-kafka - Kafka 代理 1.10,客户端使用 API 0.10.2
- ubuntu - 计算引擎:在 14.04 (Trusty) 弃用之前升级 Ubuntu
- reactjs - 运行 tsc(TypeScript 编译器)时如何在 dist 或 build 文件夹中复制 package.json
- tink - 如何从用户提供的密码生成 Tink 密钥
- bash - 如何从陷阱中开出标准错误?
- android - 如何在 Android 应用中管理区域配置
- dataframe - 如何将此数据转换为表格格式?
- sql - 如何避免选择查询中的排序运算符
- c++ - 添加空白字符时,C ++电子邮件会中断