【发布时间】:2021-05-12 09:49:14
【问题描述】:
我在 vuetify 扩展面板中内置了一个文本字段。
点击“重命名框”图标后
问题是每次我在文本框中输入空格键时,扩展面板都会切换。我已经通过使用 click.stop="" 属性阻止了点击的事件传播,但我似乎无法阻止此空格键事件影响父级。
我测试过的属性是:
- keydown.stop
- keydown.prevent('不能用这个选项输入')
- keydown.self
- keydown.capture
- input.stop
- change.stop
以下是根据vue插件发出的事件
这里是代码
<v-expansion-panel
active
v-for="(item, i) in $store.state.data"
:key="i"
>
<v-expansion-panel-header>
<div v-if="editorQ !== i">Q. {{ item.q }}</div>
<v-text-field
v-else
label="Question"
:value="newQuestion"
@click.stop=""
@change.stop="updateQ"
@keydown.stop=""
></v-text-field>
<template v-slot:actions>
<v-btn
v-if="editorQ === i"
@click.stop="doneEditingQuestion(i)"
depressed
icon
text
>
<v-icon> mdi-check </v-icon>
</v-btn>
<v-btn
class="upright"
v-else
@click.stop="editQuestion(i)"
depressed
icon
text
>
<v-icon> mdi-rename-box </v-icon>
</v-btn>
</template>
</v-expansion-panel-header>
<v-expansion-panel-content>
【问题讨论】:
-
事件在
keydown上触发,而不是change我相信,试试keydown,更具体地说,keydown.space.stop -
试过了。我添加了一个我也尝试过的属性列表。
-
试过
input.prevent.stop? vuetify API btw 是否允许这种行为?我的意思是,也许这不是应该的工作方式。 -
不起作用。而是得到一个错误
-
哪个错误...?
标签: vue.js nuxt.js vuetify.js