【问题标题】:Cannot set the input value using e.Value = "value" in Blazor无法在 Blazor 中使用 e.Value = "value" 设置输入值
【发布时间】:2020-09-06 23:23:48
【问题描述】:

我有一个简单的input,类型为text

<input type="text" @oninput="Input_OnInput" />

如您所见,oninput 事件由Input_OnInput 方法处理。这是它的实现:

private void Input_OnInput(ChangeEventArgs e)
{
    string inputValue = e.Value.ToString();
    e.Value = inputValue + "ABC";
}

它所做的只是将三个字符附加到输入字符串,然后将新字符串分配给e.Value 属性。

但是,由于某种我无法理解的原因,这不起作用,并且新字符串未显示在 UI 上的输入文本中。

顺便说一句,也许我应该提到确实调用了该方法,并且确实执行了该特定行,但它似乎没有按预期工作。

如果这很重要,我正在使用 Blazor 服务器端托管模型。

【问题讨论】:

  • e.Value 是一条单行道。

标签: blazor blazor-server-side asp.net-blazor


【解决方案1】:

这不是您应该在 Blazor 中更新输入的方式,请查看

示例代码:https://docs.microsoft.com/en-us/aspnet/core/blazor/components/data-binding?view=aspnetcore-3.1

<p>
    <input @bind="currentValue" /> Current value: @currentValue
</p>

<p>
    <input @bind="CurrentValue" /> Current value: @CurrentValue
</p>

@code {
    private string currentValue;

    private string CurrentValue { get; set; }
}

【讨论】:

    猜你喜欢
    • 2013-04-18
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多