我有一个与十进制值绑定的 MudTextField 组件,我想在用户开始输入数字时删除默认的 0 值。我使用过该OnKeyDown
事件,但我发现即使在我处理它之后它也会传播,并且用户输入的数字会被插入两次。args.StopPropagation
似乎在 Blazor 或 MudBlazor 中不存在。
<MudTextField @bind-Value="_tripModel!.TripLength" Label="Length" Variant="Variant.Text" OnKeyDown="k => OnMileageKeyDown(k)"></MudTextField>
private void OnMileageKeyDown(object args)
{
if (_tripModel!.TripLength == 0 && args is KeyboardEventArgs)
{
string keyChar = ((KeyboardEventArgs)args).Key;
bool success = int.TryParse(keyChar, out int keyInt);
if (success)
{
_tripModel!.TripLength = keyInt;
// ((KeyboardEventArgs)args).StopPropagation = true; // Not working
StateHasChanged();
}
}
}
我怎样才能停止事件传播?
如果您使用 focus/focusout 事件的话,会更容易。