【问题标题】:Fire event when the textbox changes in Blazor当 Blazor 中的文本框更改时触发事件
【发布时间】:2020-09-08 17:39:19
【问题描述】:

我正在使用EditFormInputText 来实现数据绑定和表单验证。 (使用<input @bind="SomeProperty" /> 似乎不会触发组件验证。)

我想附加一个在文本框的值发生变化时触发的事件处理程序:

<InputText @bind-Value="@model.ZipCode" @onkeypress="@model.InvokeThisMethod)"></InputText>

这种工作,但是当我在事件处理程序中时,它显然是在ZipCode 更新之前触发的。这里的目标是在邮政编码达到 5 个字符时执行操作,而不是在文本输入失去焦点时执行操作。我也尝试过强制更改事件触发oninput,但这只会在控制台上创建一个关于 ChangedEventArgs 到字符串不起作用的错误。

如何在输入字段更新数据绑定后触发事件?

【问题讨论】:

    标签: blazor-server-side


    【解决方案1】:
    <InputText class="form-control" Value="@model.ZipCode" ValueExpression="@( ()=> model.ZipCode )" ValueChanged="@( (string s) => model.InvokeThisMethod(s) )"></InputText>
    

    我在 Microsoft 文档中没有找到这个。我在 Telerik 网站上找到了他们的 Blazor 控件(显然适用于非 Telerik 控件)。

    现在在 Blazor 中处理表单字段真的很糟糕。

    <input @bind="model.Property" />
    

    <InputText @bind-Value="model.Property" />
    

    然后是上面显示的ValueExpression 属性。 VS2019 的 .razor 文件中的智能感知实现得很差。这很糟糕。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-31
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多