首页 > 解决方案 > 在不失去焦点的情况下访问输入值

问题描述

我想访问文本类型输入的值,同时我仍然专注于对值进行更改。对于制作字符串.ToUpper()并在每次输入字符时查看更改的示例。

这是我现在所拥有的:

<input value=@Result @onchange=@ToUpper />

@code {
    [Parameter] public string Value { get; set; }
    [Parameter] public EventCallback<string> ValueChanged { get; set; }

    private string Result;

    void ToUpper(ChangeEventArgs evt) {
        Result = evt.Value.ToString().ToUpper();
        Value = Result;
        ValueChanged.InvokeAsync(Value);
    }
}

在此代码中,字符串仅在离开输入后才会Result更改。ToUpper

我不想做的是将一些样式应用于输入,例如:style="text-transform: uppercase"

标签: asp.net-coreblazor

解决方案


这段代码应该可以工作......

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


@code {

    private string str;


    public string ToUpper
    {
        get
        {
            return str;
        }
        set 
        {
            if (str != value)
                str = value.ToUpper();

        }
    }

}

希望这可以帮助...


推荐阅读