欢迎来到小懒的博客~email:568705236@qq.com

element ui datepicker添加回车事件

2021/7/15 20:30:14站长

    今天工作上遇到要处理element ui,vue 2的,不是plus,的DatePicker 日期选择器,在其上面添加回车事件,来触发后续功能。

    通常第一反应会是直接加事件监听

<el-date-picker
      v-model="value1"
      type="date"
      placeholder="选择日期"
 @keyup.enter.native="onenter"
>
    </el-date-picker>

    很可惜,这只能在日期组件的输入框是空内容时触发。去看看element ui 的 DatePicker 源码,就会发现,输入框的回车keydown事件被监听。

image.png

    在处理过程中,阻止了事件的后续,因此keyup事件就不会触发。

image.png


    为此,第一个想到的就是在事件捕获阶段,比组件先一步得到触发事件。

<el-date-picker
      v-model="value1"
      type="date"
      placeholder="选择日期"
 @keydown.enter.capture.native="onenter"
>
    </el-date-picker>

    在keydown事件捕获阶段 keydown事件捕获阶段 keydown事件捕获阶段 ,说三遍^-^。这样我们就能知道回车被按下了,然后再监听DatePicker的change事件,等值变化了就触发后续操作。


赞赏