如何在 RenderFragment Antd Blazor 中触发 @onclick

Posted

技术标签:

【中文标题】如何在 RenderFragment Antd Blazor 中触发 @onclick【英文标题】:How to trigger @onclick within RenderFragment Antd Blazor 【发布时间】:2021-07-11 04:26:51 【问题描述】:

我正在使用 ant design blazor(.net 5.0,antblazor 0.7.4)并尝试通过 RenderFragment 触发 @onclick 按钮渲染:App.razor

   @inject NavigationManager NavigationManager

<Router AppAssembly="@typeof(Program).Assembly" PreferExactMatches="@true">
    <Found Context="routeData">
        <RouteView RouteData="@routeData" DefaultLayout="@typeof(BasicLayout)" />
    </Found>
    <NotFound>
        <LayoutView Layout="@typeof(BasicLayout)">
            <Result Status="404"
                    Title="404"
                    SubTitle="Sorry, the page you visited does not exist."
                    Extra="extra" />
        </LayoutView>
    </NotFound>
</Router>
<AntContainer />
@code
 
    private void NavigateToHome()
    
        NavigationManager.NavigateTo("/");
    
    RenderFragment extra =@<Button Type="primary" @onclick="NavigateToHome">Back Home</Button>;


但得到错误: screen error

如何解决这个问题?非常感谢!

【问题讨论】:

添加相关标签(语言、框架、库),让您的问题更容易被社区看到 感谢@MichaelRovinsky。我编辑了 【参考方案1】:
@inject NavigationManager NavigationManager

<Router AppAssembly="@typeof(Program).Assembly" PreferExactMatches="@true">
    <Found Context="routeData">
        <RouteView RouteData="@routeData" DefaultLayout="@typeof(BasicLayout)" />
    </Found>
    <NotFound>
        <LayoutView Layout="@typeof(BasicLayout)">
            <Result Status="404"
                    Title="404"
                    SubTitle="Sorry, the page you visited does not exist."
                    Extra="HomeButton(NavigateToHome)" />
        </LayoutView>
    </NotFound>
</Router>
<AntContainer />
@code
 
    private void NavigateToHome()
    
        NavigationManager.NavigateTo("/");
    
    RenderFragment HomeButton(Action clickAction) => @<Button Type="primary" @onclick="@clickAction">Back Home</Button>;


【讨论】:

以上是关于如何在 RenderFragment Antd Blazor 中触发 @onclick的主要内容,如果未能解决你的问题,请参考以下文章

将 Blazor RenderFragment 参数转发给子组件会引发异常

antd中如何根据屏幕分辨率的不同,而改变dom布局

Blazor 服务端组件 Render, RenderFragment ,RenderTreeBuilder, CascadingValue/CascadingParameter

打开MASA Blazor的正确姿势5:插槽

React UI组件库——如何快速实现antd的按需引入和自定义主题

Antd ProTable columns 关于时间的排序