我具有以下Vuetify表单,其中包含单个v文本字段和一个按钮:
<v-form v-model="valid" ref="form" @submit.prevent>
<v-container>
<v-layout>
<v-flex
xs12
md8
>
<v-text-field
v-model="name"
:rules="nameRules"
:counter="max"
maxlength='max'
:label="$t('Save new name')"
required
clearable
@keyup.enter.prevent='onEnterPressed'
></v-text-field>
</v-flex>
<v-flex
xs12
md4
>
<v-btn
:loading="saving"
:disabled="!valid || saving"
color="info"
@click="processNewName"
>
<v-icon left dark>fa-save</v-icon>
{{ $t('Save') }}
</v-btn>
</v-flex>
</v-layout>
</v-container>
</v-form>
目前这些是我的方法:
onEnterPressed() {
console.log('enter pressed');
},
processNewName() {
...
}
当我按下Enter键时,我正在使用@submit.prevent
来停止刷新页面。
到目前为止,一切似乎都正常。但是,当我按下Enter键时,在控制台中我收到以下错误消息:
Uncaught TypeError: Cannot read property 'type' of undefined
at e.setFieldValue (onloadwff.js:71)
at HTMLFormElement.formKeydownListener (onloadwff.js:71)
在onloadwff.js中,错误指向以下代码:
if("password"===r.type)
因此r
未定义。如何防止这种情况发生?我已经尝试过使用@keyup.enter.prevent.native
,尝试过@keydown.enter.prevent
,试图将@submit.prevent
指向processNewName
方法...这个错误不断出现。
我在Vuetify站点中检查了v-text-field组件,似乎有时他们在某些示例中也遇到此错误,但并非全部。但是我不知道该怎么做才能防止这种情况的发生。有什么想法吗?
编辑
在进一步调查后,我发现onloadwff.js
属于LastPass插件。在没有该插件的情况下在其他浏览器中签入,发现一切正常。
答案 0 :(得分:0)
此错误来自您的LastPass插件,并且在各种框架上的Github上进行了讨论:
这不是最佳解决方案,它更像是一种解决方法,但现在我还是:
<v-form>