我想知道是否可以在ChildContent组件的参数中引用子元素。我可以显式地或通过使用级联参数将值从父组件传递给子组件,但是父组件没有很好的方法来“了解” ChildContent RenderFragment. 一个可能的用例是一个组件,该组件获取在渲染过程中已添加到组件UIList的数量。UIListItemsUIList
我尝试重写BuildRenderTree组件上的方法以手动操作,ChildContent RenderFragment但我唯一的选择是渲染或忽略片段(我无法查看RenderFragment委托的内容)。
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
int seq = 0;
base.BuildRenderTree(builder);
builder.OpenElement(seq++, "div");
builder.AddContent(seq++, this.ChildContent);
builder.CloseElement();
}
Run Code Online (Sandbox Code Playgroud)
我想知道下面这样的事情是否可能。请注意,下面的语法无效,只是一个说明要点的示例。
protected int NumberOfItems{get;set;}
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
int seq = 0;
base.BuildRenderTree(builder);
builder.OpenElement(seq++, "div");
foreach(var childFragment in this.ChildContent.GetFragments())
{
if(childFragment is UIListItem)
NumberOfItems++;
builder.AddContent(seq++,childFragment);
}
builder.CloseElement();
}
Run Code Online (Sandbox Code Playgroud)