誰かが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) {
}
}
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();
}
前もって感謝します。ジューン
あなたはこのようにそれを行うことができます:
__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")));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加