无法在 Blazor 中使用 e.Value = "value" 设置输入值
Cannot set the input value using e.Value = "value" in Blazor
我有一个简单的 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 服务器端托管模型。
这不是您在 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; }
}
我有一个简单的 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 服务器端托管模型。
这不是您在 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; }
}