当按下ENTER键时,我使用了一段如下所示的代码来触发点击事件:
<q-tab-panel name="option1" @keyup.enter.native="$refs.button.click()">
...
<q-btn ref="button" @click="function()" />
...
</q-tab-panel>
标签属于Quasar Framework 的组件。这段代码不久前还可以工作,但现在需要进行此更改才能工作:
<q-tab-panel name="option1" @keyup.enter.native="$refs.button.$el.click()">
也就是说,现在使用引用会$refs.button.click()在按下ENTER时产生错误:
[Vue 警告]:v-on 处理程序中的错误:“TypeError:无法读取未定义的属性‘defaultPrevented’”
为什么它以前有效,为什么现在无效?我看到有人提到它与 Vue 的版本有关,或者引用正在组件中使用而不是原生 DOM 元素的事实。请参阅是否可以使用 Vue.js 触发事件?. 我也看到了Vue - 何时以及为什么使用 $el,它在它工作之前没有回答为什么现在它没有。
Vue 文档说明了以下内容$el:
Vue 实例正在管理的根 DOM 元素。
这是有道理的,但在不需要之前也没有解释为什么。就我而言,错误发生在 Vue 2.6.10。
慕雪6442864
相关分类