我有一个 Blazor 服务器应用程序(在 dotnet 5 上,所有包都已完全更新),我正在其中创建自定义验证控件。
我正在尝试将集合传递给自定义选择控件,如下所示
组件有几个参数
public partial class ValidatingSelect : ComponentBase
{
[Parameter]
public EventCallback<string> SelectionChanged { get; set; }
[Parameter]
public List<entity> SelectListData { get; set; }
[Parameter]
public string SelectLabel { get; set; }
...
父级创建一个 List _entityListVM 并从数据库中填充 Ok。
并调用组件如下:
<ValidatingSelect placeholder="Select entity"
SelectListData="_entityListVM "
@bind-value="parentEntity.ChildEntityId"
SelectLabel="Child entity type"
FormId="SelectFormId"
Error="@GetError(() => EntityVM.ChildId)">
</ValidatingSelect>
所有其他方面和参数都按预期工作,但在组件初始化时 SelectListData 参数始终为 null。
我认为可能是组件在父级在其 OnInitializedAsync 方法中填充 SelectListData 参数源之前正在初始化,但我不知道如何克服这个问题。
我做错了什么?