当前位置:首页 > VUE

vue 实现enter登录

2026-02-17 21:15:07VUE

Vue 实现 Enter 登录

在 Vue 中实现 Enter 登录功能可以通过监听键盘事件来完成。以下是几种常见的方法:

方法一:使用 @keyup.enter 指令

在模板中直接使用 Vue 的 @keyup.enter 指令,当用户按下 Enter 键时触发登录方法。

<template>
  <div>
    <input v-model="username" placeholder="用户名" />
    <input v-model="password" type="password" placeholder="密码" @keyup.enter="handleLogin" />
    <button @click="handleLogin">登录</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    handleLogin() {
      // 登录逻辑
      console.log('登录中...', this.username, this.password)
    }
  }
}
</script>

方法二:监听表单的 @submit 事件

将输入框包裹在 form 标签中,监听表单的 @submit 事件。按下 Enter 键时会自动触发表单提交。

<template>
  <div>
    <form @submit.prevent="handleLogin">
      <input v-model="username" placeholder="用户名" />
      <input v-model="password" type="password" placeholder="密码" />
      <button type="submit">登录</button>
    </form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    handleLogin() {
      // 登录逻辑
      console.log('登录中...', this.username, this.password)
    }
  }
}
</script>

方法三:全局监听键盘事件

如果需要在整个页面监听 Enter 键,可以在 mounted 钩子中添加事件监听,并在 beforeDestroy 钩子中移除。

<template>
  <div>
    <input v-model="username" placeholder="用户名" />
    <input v-model="password" type="password" placeholder="密码" ref="passwordInput" />
    <button @click="handleLogin">登录</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      username: '',
      password: ''
    }
  },
  mounted() {
    window.addEventListener('keyup', this.handleKeyUp)
  },
  beforeDestroy() {
    window.removeEventListener('keyup', this.handleKeyUp)
  },
  methods: {
    handleKeyUp(event) {
      if (event.key === 'Enter') {
        this.handleLogin()
      }
    },
    handleLogin() {
      // 登录逻辑
      console.log('登录中...', this.username, this.password)
    }
  }
}
</script>

注意事项

  1. 使用 @keyup.enter 或表单提交时,确保登录逻辑不会重复触发。
  2. 如果页面有多个输入框,可以通过 ref 或条件判断确保只在特定输入框中按下 Enter 时触发登录。
  3. 表单提交时使用 @submit.prevent 可以阻止默认的表单提交行为。

以上方法可以根据实际需求选择使用。

vue 实现enter登录

标签: vueenter
分享给朋友:

相关文章

vue实现简单的弹窗

vue实现简单的弹窗

使用 Vue 实现简单弹窗 组件基础结构 创建一个名为 Modal.vue 的组件文件,包含模板、脚本和样式部分: <template> <div class="mod…

vue使用vr实现标注

vue使用vr实现标注

Vue 中使用 VR 实现标注的方法 在 Vue 项目中结合 VR 技术实现标注功能,可以通过 WebXR 和 Three.js 等库实现。以下为具体实现方法: 安装依赖 确保项目中已安装 Thre…

vue实现字母添加排序

vue实现字母添加排序

实现字母添加排序的方法 在Vue中实现字母添加排序功能,可以通过以下步骤完成: 创建Vue实例并定义数据 new Vue({ el: '#app', data: { letters…

vue实现a

vue实现a

Vue 实现 A 功能的方法 在 Vue 中实现 A 功能可以通过多种方式,具体取决于 A 功能的具体需求。以下是几种常见的实现方法: 使用 Vue 组件 通过创建自定义组件来实现 A 功能。组件…

vue实现弹窗

vue实现弹窗

Vue 实现弹窗的常见方法 使用组件化方式封装弹窗 创建一个独立的弹窗组件(如 Modal.vue),通过 v-if 或 v-show 控制显示隐藏: <template> <…

vue筛选实现

vue筛选实现

Vue 筛选实现方法 使用计算属性实现筛选 计算属性是 Vue 中实现数据筛选的常用方式。通过定义一个计算属性,可以根据输入的条件动态过滤数据。 <template> <div…