如何从blazor中的父组件调用子组件方法?

rez*_*adi 17 blazor asp.net-blazor

我有两个组件。第一个组件包含模型列表,第二个组件包含模态表单我想在第一个组件中点击模型在第二个组件中,打开模态并编辑模型如何从父组件调用子组件中的显示功能

<ChildComponent />
<button onClick="@ShowModal">show modal</button>

@code{
    ChildComponent child; 

    void ShowModal(){
        child.Show();
    }
}
Run Code Online (Sandbox Code Playgroud)

我用过@using,但这段代码有错误:

找不到类型或命名空间名称 ChildComponent

agu*_*ars 40

首先,您需要捕获子组件的引用:

<ChildComponent @ref="child" />
Run Code Online (Sandbox Code Playgroud)

然后,您可以像在代码中一样使用此引用来调用子组件方法。

<button onClick="@ShowModal">show modal</button>

@code{
    ChildComponent child; 

    void ShowModal(){
        child.Show();
    }
}
Run Code Online (Sandbox Code Playgroud)

组件的命名空间需要在页面或 _Imports.razor 中通过 using 添加。如果您的组件位于子文件夹Components/ChildComponent.razor 中,则其命名空间为 {YourAppNameSpace}.Components

@using MyBlazorApp.Components
Run Code Online (Sandbox Code Playgroud)

阅读代码

  • 您将如何使用在“foreach”循环中呈现的子组件来编写此代码? (2认同)

归档时间:

查看次数:

13276 次

最近记录:

5 年 前