【发布时间】:2019-12-15 03:10:59
【问题描述】:
我已经制作了一个带有docs中描述的事件的组件
如果我使用组件的多个实例,有什么方法可以告诉我是哪个实例触发了事件?
在“常规”.net 中通常有一个 sender 参数。
见我的BlazorFiddle
...或者在这里查看我的示例代码:
子组件
<div class="panel panel-default">
<div class="panel-heading">@Title</div>
<div class="panel-body">@ChildContent</div>
<button class="btn btn-primary" @onclick="OnClick">
Trigger a Parent component method
</button>
</div>
@code {
[Parameter]
private string Title { get; set; }
[Parameter]
private RenderFragment ChildContent { get; set; }
[Parameter]
private EventCallback<UIMouseEventArgs> OnClick { get; set; }
}
索引
@page "/"
<ChildComponent Title="Panel Title from Parent"
OnClick="@ShowMessage">Hello child 1</ChildComponent>
<br>
<br>
<ChildComponent Title="Panel Title from Parent"
OnClick="@ShowMessage">Hello child 2</ChildComponent>
<br>
<br>
<p><b>@messageText</b></p>
@code {
private string messageText;
private void ShowMessage(UIMouseEventArgs e)
{
// How do I get which ChildComponent was the sender?
messageText = DateTime.Now.ToString() + ": Message from child ?"
}
}
我希望能够从 Index 中 ShowMessage-function 中的发送 ChildComponent 获取数据。
【问题讨论】:
标签: asp.net-core blazor