Blazor - 将集合传递给子组件

时间:2021-07-23 12:15:57

标签: collections parameters components blazor

我有一个 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 参数源之前正在初始化,但我不知道如何克服这个问题。

我做错了什么?

0 个答案:

没有答案