我需要它onclick
子组件中发生的事件,执行ShowMessage
父组件传递的方法message
字符串作为参数。以下代码不起作用:
儿童剃须刀:
<input type="text" @bind-value="@message" @onclick="OnClickCallback"/>
<button @onclick="ChangePassword">Parent button</button>
@code {
private string message;
[Parameter]
private string Message {get; set;}
[Parameter]
public EventCallback<MouseEventArgs> OnClickCallback {get; set;}
[Parameter]
public EventCallback<string> OnClick { get; set; }
private async Task ChangePassword()
{
await OnClick.InvokeAsync(message);
}
}
父剃刀:
@page "/parent"
<Child @bind-Message="message" OnClickCallback="@ShowMessage"></Child>
<p>@message</p>
@code {
private string message;
private void ShowMessage(MouseEventArgs args, string e)
{
message = e;
}
}
错误:无法从“方法组”转换为“EventCallback”OnClickCallback="@ShowMessage"
您需要定义两个参数属性,一个用于包含从父组件传递的消息,第二个用于保存对父组件 ShowMessage 方法的回调,该方法将在您单击“父按钮”按钮时调用
儿童剃须刀
<input type="text" @bind="@message" />
<button @onclick="ChangePassword">Parent button</button>
@code {
private string message;
[Parameter]
public string Message {get; set;}
[Parameter]
public EventCallback<string> OnClickCallback {get; set;}
private async Task ChangePassword()
{
await OnClickCallback.InvokeAsync(message);
}
家长剃刀
@page "/parent"
<Child Message="message" OnClickCallback="@ShowMessage"/>
<p>@message</p>
@code {
private string message;
private void ShowMessage(string _message)
{
message = _message;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)