vue回车键进行列表页查询

如果只是单个输入框进行搜索 用标签自带的@keyup.enter 即可实现

但是一般实际情况都是有很多搜索条件,每个标签都加显得很冗余,还很呆。

所以这里跟大家展示的是 全局定义监听回车键的方法级调用

上代码:

一:首先定义一个JS文件,名字随便,我这里起的是keyEvent.js

复制代码
function addEvent(obj, type, callback) {
  if (obj.addEventListener) {
    // W3C内核
    obj.addEventListener(type, callback)
  } else {
    // IE内核
    obj.attachEvent('on' + type, callback)
  }
}

/**
 * 解决移除事件监听兼容性问题
 * @param {Object} obj对象
 * @param {String} type时间类型,不带'on'前缀
 * @param {Function} callback事件处理程序
 */
function removeEvent(obj, type, callback) {
  if (obj.removeEventListener) {
    // W3C内核
    obj.removeEventListener(type, callback)
  } else {
    // IE内核
    obj.detachEvent('on' + type, callback)
  }
}
export default {
  addEvent,
  removeEvent
}

二:在main.js中进行全局定义

复制代码
import global from './api/keyEvent.js'
Vue.prototype.addEvent = global.addEvent
Vue.prototype.removeEvent = global.removeEvent

这里是因为所有的js 包含接口的都写在了api文件夹下

三:页面调用

复制代码
  mounted() {
    this.addEvent(window, 'keydown', this.keyDown)
    this.queryData()
  },
  destroyed() {
    this.removeEvent(window, 'keydown', this.keyDown)
  },
  methods: {
    // 回车搜索
    keyDown(e) {
      var ev = document.all ? window.event : e
      if (ev.keyCode === 13) {
      // 搜索事件
      this.queryData()
      }
    },
    // 搜索事件
    queryData() {
      这里面就是正常的查询方法
    },
  }
相关推荐
To_OC7 小时前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC7 小时前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
天渺工作室8 小时前
实现一个adblock/adblock plus等浏览器广告拦截器检测插件
前端·javascript
阳光是sunny8 小时前
Vue 项目怎么做用户行为全链路监控?轻量插件方案详解
前端·面试·架构
ZhengEnCi9 小时前
Q04-Vite禁用CSS代码分割-解决生产环境样式加载顺序混乱问题
前端·vue.js·vite
九酒9 小时前
AI Agent 开发踩坑记:口播功能非得用 APP 原生实现吗?
前端·人工智能·agent
Jackson__10 小时前
做了一段时间的AI coding后,我终于搞清了 CLI 和 MCP 的区别
前端·agent·ai编程
IT_陈寒12 小时前
JavaScript项目实战经验分享
前端·人工智能·后端
用户479492835691513 小时前
6w star,GitHub 趋势第一的 Ponytail,这个agent插件到底在火什么
前端·后端
薛定喵的谔14 小时前
我开源了一个精致的 Next.js 博客模板:Skyplume
前端·前端框架·next.js