- Blazor 服务器端
oninput
我在 my 中使用该事件input
,并在标签中显示计算 +/-
30-28.5 = 1.5,但输出 2(不考虑句点/逗号后面的内容)
我尝试使用onfocusout(我想,也许当我走出现场时,它会完全重新计算)相同的结果
<input step="any" min="0" type="number" @[email protected]
onclick="this.select();" @oninput="@((args)=>InputBind(args, myDataObject))"
class="someCss" />
<label style="visibility:@someVisibility;">
(@string.Format(CultureInfo.InvariantCulture, "{0:F3}", @ValueUpdate))
</label>
float ValueUpdate;
public void InputBind(Microsoft.AspNetCore.Components.ChangeEventArgs args, MyModel model)
{
float intOut;
if (float.TryParse(args.Value.ToString(), out intOut))
{
ValueUpdate = intOut;
}
ValueUpdate = ValueUpdate - model.ValueBase; // model.ValueBase type float
}
也许我的字符串格式不正确?或者也许输出在输出时是一个字符串,它应该返回到一个浮点数,或者也许根本不可能做这样的所有事情?
您需要看看您最终在客户端上得到了什么。看——一切正常
来源来自这里https://stackoverflow.com/a/63880070/13754729
我不喜欢这个解决方案(如果我写一个数字,为什么我需要为该字段提供值文本,他们还需要禁止输入字母),但它有效,所以如果有人像我一样,我会将其留在这里正在寻找...
我测试了一下,它有效,在测试过程中,(为什么他在2020年没有提供这样的答案,当时真的没有=> type =“decimal”,或者也许不是所有浏览器都接受它,我'确认后会回信)