问题
Element+
当用户按下ENTER
只有一个字段的表单时,我试图阻止在我的应用程序中提交表单。
在他们的文档中它说:
W3C 规定“当表单中只有一个单行文本输入字段时,用户代理应接受该字段中的 Enter 作为提交表单的请求。” 为了防止这种行为,您可以添加 @submit.prevent on 。
当前代码
我有以下代码:
// imports
export const RegisterView = defineComponent({
name: "RegisterView",
setup() {
// ...
const onSubmit = () => {
alert("asd");
// ruleFormRef.value?.validate()?.then(makeRegisterRequest)
};
return function render() {
return h(
ElForm,
{
rules,
model: record.value,
ref: ruleFormRef,
labelPosition: "top",
hideRequiredAsterisk: true,
submit: onSubmit
},
() => [
h(
ElFormItem,
{class: "mt-10", label: "Email", prop: "email"},
() => [
h(ElInput, {
modelValue: record.value.email,
"onUpdate:modelValue": (value) => {
record.value.email = value;
},
}),
]
),
h(
ElButton,
{nativeType: "submit", loading: loading.value},
() => "Register"
),
]
);
};
},
});
问题
Unfurtonately 当我按下时它正在刷新页面ENTER
。
我试过的
我试过直接在表单上设置监听器
h(ElForm,
{
submit: onSubmit
})
我尝试将按钮类型更改为submit
并尝试对submit
事件做出反应
h(
ElButton,
{nativeType: "submit", loading: loading.value},
() => "Register"
),
问题
如何从中捕获submit
事件ElForm
并确保页面没有被刷新?