【发布时间】:2019-07-22 01:54:07
【问题描述】:
出于某种原因,我需要知道包装组件中的所有子元素(至少是它们的标签)。例如,我有这样的结构:
<ParentComponent>
<ChildComponent1/>
<div>...</div>
<h1>...</h1>
ChildComponent2>
</ParentComponent>
当然,我的“ParentComponent”有这样的代码:
<div>
@ChildContent
</div>
@functions
{
[Parameter]
private RenderFragment ChildContent { get; set; }
......
}
对于一些我不会打扰的琐碎细节,我需要获取子元素标签的列表,即在本例中:
["ChildComponent1", "div", "h1", "ChildComponent2"]
并且该列表应该在 ParentComponent 渲染之前可用,这意味着我无法让 Cascade 工作,因为当 ParentComponent 的 OnParameterSet 方法时,所有子级都会在他们自己的生命周期钩子中将自己添加到列表中已经完成,更不用说我不知道如何驱动一个常见的“div”元素来实现那个 Cascade-Use-Case。我想 RenderFragment 类背后可能隐藏着一些火花,但我无法挖掘出来。
所以,目标很简单,但我正在寻找的方式很艰难,谁能给我一些线索来解决这个问题?
【问题讨论】:
标签: c# asp.net-core blazor