[英]Blazor.net Unwanted button clicks on input key presses
我是 Blazor 的新手,刚刚开始评估它是否适合我们公司的未来需求。
我已经建立了一个页面并创建了一个 MVVM 类。 我已经在控制台应用程序中测试和调试了 MVVM 类,它工作正常。
这是我的页面:
enter code here@page "/signIn"
@using System.Runtime.CompilerServices
@using ViewModels.Models.SignIn
<h1>Sign In</h1>
<table width="200" border="1">
<tbody>
<tr>
<td>Account</td>
<td>
<input @bind-value="@Model.CarrierId" @bind-value:event="oninput"/>
</td>
</tr>
<tr>
<td>Username</td>
<td>
<input autofocus @bind-value="@Model.UserName" @bind-value:event="oninput"/>
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input type="password" @bind-value="@Model.Password" @bind-value:event="oninput">
</td>
</tr>
<tr>
<td>"@Model.Clicked"</td>
<td>
<button disabled="@Model.DisableSignIn" @onclick="@Model.ExecuteSignIn()">Login</button>
</td>
</tr>
</tbody>
</table>
@code {
SignInViewModel Model;
protected override void OnInitialized()
{
base.OnInitialized();
Model = new SignInViewModel( StateHasChanged );
}
}
一切正常,除了每当我在任何一个输入元素中按下一个键时,绑定到按钮的事件也会触发。 所以我在每次按键时都会收到一个按钮事件。
看来按钮事件的结构必须像:@onclick="(e => Model.ExecuteSignIn())"
升级到 .NET CORE 3.1 版本后,@onclick="Model.ExecuteSignIn" 现在可以工作了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.