blazor-client-side - 使用对象列表中的值填充 MatBlazor MatAutocompleteList
问题描述
我正在使用 .Net Core 3.1 和客户端 Blazor 开发应用程序。我正在使用MatBlazor组件,但无法加载 MatAutocompleteList。数据从 API 检索并在页面加载时转换为对象列表:
List<CountryDto> countries = new List<CountryDto>();
protected override async Task OnInitializedAsync()
{
await ReadCountries();
}
...
async Task ReadCountries()
{
ApiResponseDto apiResponse = await Http.GetJsonAsync<ApiResponseDto>( "api/country" );
if ( apiResponse.StatusCode == 200 )
{
countries = Newtonsoft.Json.JsonConvert.DeserializeObject<CountryDto []>( apiResponse.Result.ToString() ).ToList<CountryDto>();
}
}
然后我像这样引用自动完成列表中的数据(类似于示例):
<MatAutocompleteList @bind-Value="@church.Country" Items="@countries" Label="Select Country" TItem="CountryDto" CustomStringSelector="@(i => i.Name)" />
无论我如何配置自动完成框,页面都无法加载,并且 Chrome 开发工具会显示一串未处理的错误,以呈现组件。
我尝试使用示例以不同的方式配置它,但我总是遇到相同的错误。我究竟做错了什么?
解决方案
这是一个已知的问题。这里解释了一种解决方法。新版本的控件正在开发中,因此希望这个新组件能够解决问题。
推荐阅读
- python - Python OOP 制作新类与函数参数
- javascript - 使 HighChart 容器可拖动
- c - 无效的渲染器 SDL2
- jenkins - 使用 groovy 脚本从多管道作业中获取 git 存储库
- linux - Bash在行尾添加不起作用
- regex - Grep 单引号和美元符号
- python - MultiLabelBinarizer 可以表示值的计数吗?
- labview - 如何在LabVIEW中以编程方式创建类型def簇
- java - Castor XML 映射:如何使用同一个 Java 类映射到不同的 XML 字段
- sql - 我们如何才能在所有表的数据库中获得年度总行数?