EventCallBack 无法与组件上的 @rendermode.InteractiveServer 一起使用。 OnClick.InvokeAsync() 被调用但不执行。父回调未被调用。
如果 @rendermode InteractiveServer 位于页面上,而不是 EventCallBack 起作用的组件上。
我需要在同一页面上有 InteractiveServer 和 InteractiveWebAssembly 组件。
我正在使用.Net 8
Home.razor
@page "/"
@* This way works *@
@* @rendermode InteractiveServer *@
@* <Button OnClick=@DoOnClick Text="InteractiveServer" /> *@
@* This way does not work *@
<Button @rendermode=InteractiveServer OnClick=@DoOnClick Text="InteractiveServer" />
<p>@HelloString</p>
@code {
string HelloString { get; set; } = "";
void DoOnClick()
{
HelloString = "Hello"; // Is not being called
}
}
按钮.剃须刀
<button @onclick=@DoOnClick>@Text</button>
@code {
[Parameter]
public EventCallback OnClick { get; set; }
[Parameter]
public string Text { get; set; } = "";
void DoOnClick()
{
OnClick.InvokeAsync(); // Is being called
}
}