use*_*476 11 c# blazor-server-side
我正在使用 Blazor 服务器进行开发,并且下面有一个名为 EventCallBackParent 的父组件。
@page "/eventcallbackparent"
<h3>EventCallBackParent</h3>
<div>
<EventCallBackChild onDoneButtonClicked=" "></EventCallBackChild>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的父组件的 C# 类/代码
public partial class EventCallBackParent
{
public async void Done()
{
//Call a method here
ModalDisplay = "none";
ModalClass = "";
StateHasChanged();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的子组件的样子
<h3>EventCallBackChild</h3>
<div class="row align-items-center py-3">
<div class="col-auto d-flex align-items-center">
<div class="card" @onclick="DoneButtonClicked">
<div class="card-body">
<p>Standard</p>
</div>
</div>
</div>
</div>
@code {
[Parameter]
public EventCallback onDoneButtonClicked { get; set; }
protected async Task DoneButtonClicked()
{
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我想要发生的事情。单击标准卡时,我想调用父组件中的 Done 方法。这可能吗?如果是的话,我该怎么办?
pok*_*oke 17
由于您已经EventCallback在子组件中声明了一个参数,因此您只需在DoneButtonClicked方法中调用该回调即可:
[Parameter]\npublic EventCallback onDoneButtonClicked { get; set; }\n\nprotected async Task DoneButtonClicked()\n{\n await onDoneButtonClicked.InvokeAsync();\n}\nRun Code Online (Sandbox Code Playgroud)\n在父组件中,您必须将onDoneButtonClicked子组件的此参数与父组件\xe2\x80\x99sDone方法链接起来:
<div>\n <EventCallBackChild onDoneButtonClicked="Done"></EventCallBackChild>\n</div>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
13153 次 |
| 最近记录: |