【发布时间】:2018-08-02 22:02:16
【问题描述】:
我正在使用 Vuetify 和 VueJS(最新版本)。
这是Login.vue的小模板:
<template>
<v-layout align-center justify-center>
<v-flex xs12 sm8 md4>
<v-card class="elevation-12">
<v-toolbar dark color="success">
<v-toolbar-title>Login form</v-toolbar-title>
<v-spacer></v-spacer>
</v-toolbar>
<v-card-text>
<v-form @submit.prevent="checkLogin">
<v-text-field prepend-icon="person" id="userLogin" v-model="userLogin" placeholder="my@login.com"></v-text-field>
<v-text-field prepend-icon="lock" id="userPassword" v-model="userPassword" placeholder="password" type="password"></v-text-field>
</v-form>
</v-card-text>
<v-card-actions>
<v-spacer></v-spacer>
<!-- TODO fix the bug when form.submit not works -->
<v-btn type="submit" color="success">Login</v-btn>
</v-card-actions>
</v-card>
</v-flex>
</v-layout>
</template>
所以,如果你看到,v-form 上有一个 @submit.prevent 调用 checkLogin 并且它在在输入时单击提交按钮或按 Enter 按钮。使用 @submit 而不使用 prevent 也没有效果。
但是!如果我像这样将事件处理程序放在 v-btn 上:
<v-btn @click.native="checkLogin">
点击按钮后(不是在输入字段中按回车键),一切都按预期工作。
那么,您能否告诉我,我在处理 v-form 提交事件时做错了什么? 谢谢!
【问题讨论】:
标签: vue.js vuetify.js