如何在键入时修改输入并使Blazor查看更改

时间:2020-04-18 09:51:37

标签: javascript blazor blazor-server-side

我有一个输入元素。在使用JavaScript keydownkeypress事件键入内容时,我添加了一些过滤和修改文本的功能。

例如-当输入接受大写字符时,仅按“ a”(无移位,无大写锁定),则得到“ A”。

这有效,但是输入值绑定根本不起作用。我只是在JS事件上调用preventDefault(),就是这样,绑定被破坏了。

我试图自己调度事件。我分派了新创建的KeyboardEventCustomEvent,类型为“ change”。没事。我可以在JS事件处理程序中修改输入值,可以在浏览器中看到更改,但是我的C#没有。

我该如何进行这项工作?我是否必须手动调用C#来更新绑定,还是有另一种方法?

该代码应仅在最新的Chrome / Firefox浏览器上起作用,可能不支持较旧的浏览器。

1 个答案:

答案 0 :(得分:2)

为什么不使用Blazor代码编写代码?在您的降价中:

<input type="text" @bind-value="MyParamenter" @bind-value:event="oninput" >

和代码中

private string myParameter;

private string MyParameter
{
    get => myParameter;
    set
    {
        myParameter = value.ToUpper();
    }
}