【发布时间】:2021-06-07 07:26:18
【问题描述】:
当我点击文本字段时,Vue 输入字段(v-text-field)会自动显示上一个输入。 实际上,我使用蓝色按钮从所有输入中删除了值(这也创建了额外的随机表)。重置有效,但是为什么又显示值了?
我尝试了什么:我使用 v-form 来删除所有输入的值 this.$refs.form.reset(); (见https://vuetifyjs.com/en/components/forms/#misc)。这并没有解决问题。
这是它的外观: GIF
HTML
<v-simple-table>
<template v-slot:default>
...
<tbody>
<tr :class="verb.ich">
<td>
<v-text-field label="ich"></v-text-field>
</td>
</tr>
<tr :class="verb.du">
<td>
<v-text-field label="du"></v-text-field>
</td>
</tr>
<tr :class="verb.er">
<td>
<v-text-field label="er/sie/es"></v-text-field>
</td>
</tr>
...
...
</tbody>
</template>
</v-simple-table>
...
<v-btn @click="next"> Weiter </v-btn>
方法next():
next: function () {
var allInputs = document.getElementsByTagName("input");
for (var i = 0, max = allInputs.length; i < max; i++) {
allInputs[i].value = "";
allInputs[i].style.backgroundColor = "white";
}
...
}
解决方案
(借助 Michael Levý 的回答)
- v-模型
<td>
<v-text-field v-model="verb.val[0]"></v-text-field>
</td>
...
- 重置值
for (var i = 0; i < this.verben.length; i++) {
this.verben[i].val[0] = "";
...
}
- 在每个数组中
verben: [
{
val: ["", "", "", "", "", ""],
...
}
【问题讨论】:
标签: javascript html vue.js vuetify.js