在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ elementUI的@keyup.down.native事件沖突,如何禁用ele

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

<el-input-number style="width: 100px;" v-model="scope.row.unconfirmOddsCopy"
                                 :class="{red:getUnConfirmOddsColorClass(scope.row)}"
                                 :precision="3"
                                 :step="getStep(scope.row.unconfirmOddsCopy)" :min="1.000"
                                 @keyup.down.native="keyUpDown"
                                 :max="9999" controls-position="right" size="small"></el-input-number>
                                 

輸入框獲取焦點時我按鍵盤的下箭頭,會觸發(fā)我自己@keyup.down.native="keyUpDown"定義的事件,同時也會觸發(fā)elementUI自帶的事件,如何禁用elementUI的事件?

回答
編輯回答
使勁操

我翻了一下ElementUI關于el-input-number的源碼,
源碼中直接綁定的是@keydown事件

由于Vue是在事件的冒泡階段進行的處理,而非傳播階段,所以我認為直接用@的修飾符來進行處理是做不到的。
可以提供的解決方法有兩個,一個是在down以后查看data,對change事件和down事件的結果都做記錄,如果是down修改的,那么改回來。

第二種方法是自定義指令,在事件的傳播階段阻斷事件

clipboard.png

2017年7月31日 10:39
編輯回答
老梗

這樣子綁定你的事件:

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

在捕捉階段停止事件傳播, 這樣子之后冒泡階段的事件處理都不會進行了.

2017年5月30日 11:10