拥有 BlazorEditForm
和包含的InputTextArea
(即多行文本框),我确实想在用户按Ctrl+时验证并提交表单Enter,就像他单击提交按钮一样。
我已经成功连接了键盘处理程序,如下所示:
<EditForm Model="@myModel" Format="g" OnValidSubmit="@Store" @ref="_editForm">
<InputTextArea
onkeypress="@(async e => await myKeyPress(e))"
@bind-Value="myModel.Foo" />
<button type="submit">Store it</button>
</EditForm>
Run Code Online (Sandbox Code Playgroud)
后面有这段代码:
private EditForm _editForm;
private async Task myKeyPress(KeyboardEventArgs key)
{
if (key.CtrlKey && key.Code == @"Enter")
{
_editForm.??? // What to call here?
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在 EditForm 类中没有看到可以调用来提交和验证表单的方法,就好像用户单击提交按钮一样。
如何以编程方式提交和验证 Blazor 表单?
在 my 中EditForm
,我想防止用户通过按键提交表单Enter
。
我尝试了以下方法,但没有奏效。
<button type="submit" @onkeypress:preventDefault>Save</button>
Run Code Online (Sandbox Code Playgroud)
非常感谢!