el-input 监听键盘回车事件,且不触发换行

需求分析:

此次的需求为 el-input 输入框需要添加回车一键录入数据提交的功能
话不多说,我们直接上干货

HTML 代码:

我使用的是文本域输入框,都一样哈,标签使用 keydown 事件监听,如下:

<el-input
  type="textarea"
  :autosize="{minRows: 3}"
  placeholder="请输入内容"
  v-model="orderInfo"
  @keydown.enter.native="enterEvent($event)"
 >
 >el-input>

JavaScript 代码:

// 快捷录入-回车事件
enterEvent(event) {
  if (!event.ctrlKey) {
    // 如果没有按下组合键ctrl,则会阻止默认事件
    event.preventDefault();
    this.test();
  } else {
    // 如果同时按下ctrl+回车键,则会换行
    this.orderInfo += '\n';
  }
},
// 测试事件
test(){
  console.log('触发了回车事件,并且没有换行喔~');
}

看到这里肯定很多小伙伴会疑惑 ctrlKey 是什么,这里引用 MDN 官方文档解释一下

el-input 监听键盘回车事件,且不触发换行_第1张图片

相关链接:https://developer.mozilla.org/zh-CN/docs/Web/API/KeyboardEvent/KeyboardEvent

本文至此就结束了,如果有帮助到你,希望能给个赞 ovo!!!

你可能感兴趣的:(vue.js,javascript,ecmascript)