elementUI的@keyup.down.native事件冲突,如何禁用element自带的事件?

输入框获取焦点时我按键盘的下箭头,会触发我自己@keyup.down.native="keyUpDown"定义的事件,同时也会触发elementUI自带的事件,如何禁用elementUI的事件?

阅读 8.2k
2 个回答

我翻了一下ElementUI关于el-input-number的源码,
源码中直接绑定的是@keydown事件

由于Vue是在事件的冒泡阶段进行的处理,而非传播阶段,所以我认为直接用@的修饰符来进行处理是做不到的。
可以提供的解决方法有两个,一个是在down以后查看data,对change事件和down事件的结果都做记录,如果是down修改的,那么改回来。

第二种方法是自定义指令,在事件的传播阶段阻断事件

clipboard.png

这样子绑定你的事件:

@keyup.down.native.capture.prevent ="keyUpDown"

在捕捉阶段停止事件传播, 这样子之后冒泡阶段的事件处理都不会进行了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题