有没有办法在渲染之前从父组件中枚举子内容?

出于某种原因,我需要知道包装组件中的所有子元素(至少是它们的标签)。例如,我有这样的结构:


<ParentComponent>

    <ChildComponent1/>

    <div>...</div>

    <h1>...</h1>

    ChildComponent2>

</ParentComponent>

当然,我的“ParentComponent”有这样的代码:


<div>

    @ChildContent

</div>


@functions

{


    [Parameter]

    private RenderFragment ChildContent { get; set; }


    ......

}

对于一些我不会打扰的琐碎细节,我需要获取子元素标签的列表,也就是说,在本例中:


["ChildComponent1", "div", "h1", "ChildComponent2"]

并且该列表应该在 ParentComponent renders 之前可用,这意味着我无法使 Cascade 工作正常工作,因为当 ParentComponent 的 OnParameterSet 方法完成时,所有子级都会将自己添加到自己的生命周期钩子列表中,更不用说我不知道了如何驱动通用的“div”元素来实现级联用例。我猜想 RenderFragment 类背后可能隐藏着一些火花,但我无法将其挖掘出来。


所以,目标很简单,但我寻找的方法很困难,有人能给我一些线索来解决这个问题吗?


MYYA
浏览 116回答 1
1回答

桃花长相依

有没有办法在渲染之前从父组件中枚举子内容?ChildContent 参数是渲染内容片段的 RenderFragment 类型的委托。据我所知,您无法使用它来访问其组成部分。因此,您无法枚举 ChildContent...
打开App,查看更多内容
随时随地看视频慕课网APP