在RenderFragment中获取值

时间:2020-03-08 14:53:48

标签: blazor blazor-server-side

我想检索RenderFragment的值以在我的代码中使用:

父组件

<SkillIndividual>
  <Skill>Fireball</Skill>
  <AttributeType>Fire</AttributeType>
</SkillIndividual>

子组件(SkillIndividual.razor

<span>@Skill</span> <span class="semi-transparent-text">(@AttributeType)</span>

@code {
  [Parameter] public RenderFragment Skill { get; set; }
  [Parameter] public RenderFragment AttributeType { get; set; }

  private void CheckValue()
  {
    // Check the value of Skill (Fireball in this case)
  }
}

我知道我可以创建[Parameter] public string Skill {get;set;},但是我觉得那会破坏我的代码流程。如果我可以从RenderFragment中获取值,那么代码将变得更加简洁。

1 个答案:

答案 0 :(得分:2)

RenderFragment是委托类型,您不能访问其组成部分。 通常,当您要与组件的子级内容相关时,可以定义一个RenderFragment类型的属性,该属性由约定ChildContent命名。

简而言之,您无法从这些滞后值中提取值。它们只能执行和渲染。组件参数有什么问题?