繁体   English   中英

Blazor.net 不需要的按钮点击输入按键

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM