Blazor 如何通过渲染树生成器添加navlink事件处理程序?

Blazor 如何通过渲染树生成器添加navlink事件处理程序?,blazor,render,Blazor,Render,有人能帮我在NavLink上添加事件处理程序吗? 我想制作的HTML: <NavLink class="nav-link" href="/" @onclick="()=>GetIsClicked("home")"> <span class="oi oi-home" aria-hidden="true">Home</span&g

有人能帮我在NavLink上添加事件处理程序吗? 我想制作的HTML:

  <NavLink class="nav-link" href="/" @onclick="()=>GetIsClicked("home")">
      <span class="oi oi-home" aria-hidden="true">Home</span>
  </NavLink>

@code{
    public void GetIsClicked(string str) {
    
  }
 }

家
@代码{
public void GetIsClicked(字符串str){
}
}
RenderTreeBuilder代码:

 protected override void BuildRenderTree(RenderTreeBuilder builder) {
    builder.OpenComponent<NavLink>(1);
    builder.AddAttribute(2, "class", "nav-link");
    builder.AddAttribute(3, "href", "/");
    // here I want to add attribute for @onclick="()=>GetIsClicked("home")"
    builder.AddAttribute(4, "ChildContent", (RenderFragment)((builder2) => {
                builder2.OpenElement(5, "span");
                builder2.AddAttribute(6, "aria-hidden", "true");
                builder2.AddAttribute(7, "class", "oi oi-home");
                builder2.CloseElement();
                builder2.AddContent(8, "Home");
    }));
    builder.CloseComponent();
    builder.CloseElement();
    builder.CloseElement();
 }
protected override void BuildRenderTree(RenderTreeBuilder){
OpenComponent(1);
builder.AddAttribute(2,“类”、“导航链接”);
builder.AddAttribute(3,“href”,“/”;
//这里我想为@onclick=“()=>GetIsClicked(“home”)添加属性
builder.AddAttribute(4,“ChildContent”,(RenderFragment)((builder2)=>{
建造商2.开口构件(5,“跨度”);
builder2.AddAttribute(6,“aria隐藏”,“true”);
builder2.AddAttribute(7,“类”,“oi oi home”);
builder2.CloseElement();
构建者2.添加内容(8,“主页”);
}));
builder.CloseComponent();
builder.CloseElement();
builder.CloseElement();
}
提前谢谢。
Joon

你可以这样做:

 __builder.OpenComponent<Microsoft.AspNetCore.Components.Routing.NavLink>(1);
            __builder.AddAttribute(2, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create<Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, ()=>GetIsClicked("home")));
OpenComponent(1); __builder.AddAttribute(2,“onclick”,Microsoft.AspNetCore.Components.EventCallback.Factory.Create(this,()=>GetIsClicked(“home”));