gpt4 book ai didi

c# - Blazor 父组件可以知道它里面有多少个子组件吗?

转载 作者:行者123 更新时间:2023-12-04 11:02:40 24 4
gpt4 key购买 nike

我正在创建 2 个 blazor 组件:AlertMessageAlertMessageGroupAlertMessageGroup 旨在包含多个 AlertMessage 组件。我希望 AlertMessageGroup 具有基于 AlertMessage 的数量和类型的显示逻辑(AlertMessageType 是一个 AlertMessage 参数,并且可能会引用一个枚举值)。

是否有可能让父组件(例如 AlertMessageGroup)知道它包含多少个子组件(例如 AlertMessage),并据此显示逻辑?

(我要补充一点,理想情况下我希望能够独立使用单个 AlertMessage,而不必将其包含在 中AlertMessageGroup 如果我不想)

最佳答案

您可以在 AlertMessageGroup 组件中定义一组 AlertMessage 组件,将捕获的组件引用(this)传递给 AlertMessage,它应该在其 OnInitialized 生命周期事件中将自己添加到 AlertMessageGroup。

AlertMessage.razor 的代码片段

[CascadingParameter]
public AlertMessageGroup ContainerParent { get; set; }


protected override void OnInitialized()
{
ContainerParent.AddChild(this);
}

AlertMessageGroup.razor 的代码片段

//将组件引用传递给子组件

 <CascadingValue Value=this>

</CascadingValue>

@code {
// Code to add add the children to the parent...

}

希望我清楚...

关于c# - Blazor 父组件可以知道它里面有多少个子组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58698334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com