当前位置:首页 > VUE

vue回车实现登录

2026-03-29 00:57:43VUE

vue回车实现登录

vue回车实现登录

Vue 实现回车登录功能

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

在输入框上监听 keyup.enter 事件

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

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

在表单上监听 submit 事件

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

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

使用全局键盘事件监听

<template>
  <input v-model="username" ref="usernameInput" placeholder="用户名">
  <input v-model="password" ref="passwordInput" placeholder="密码">
  <button @click="handleLogin">登录</button>
</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>

使用自定义指令

// 全局注册自定义指令
Vue.directive('enter', {
  bind(el, binding) {
    el.addEventListener('keyup', (event) => {
      if (event.key === 'Enter') {
        binding.value()
      }
    })
  }
})
<template>
  <input v-model="username" v-enter="handleLogin" placeholder="用户名">
  <input v-model="password" v-enter="handleLogin" placeholder="密码">
  <button @click="handleLogin">登录</button>
</template>

以上方法都可以实现回车登录功能,根据项目需求选择最适合的方式。表单提交方式是最符合 HTML 规范的实现方法,推荐优先使用。

标签: vue
分享给朋友:

相关文章

vue 实现菜单

vue 实现菜单

Vue 实现菜单的方法 使用 Vue 实现菜单可以通过多种方式,以下是几种常见的方法: 使用 Vue Router 实现动态路由菜单 通过 Vue Router 可以动态生成菜单,根据路由配置自动渲…

vue实现画图

vue实现画图

Vue 实现画图功能 在 Vue 中实现画图功能通常需要结合 HTML5 的 <canvas> 元素或第三方库。以下是几种常见的方法: 使用原生 Canvas API 通过 Vue 直接…

vue mvvm实现

vue mvvm实现

Vue MVVM 实现原理 Vue.js 是一个基于 MVVM(Model-View-ViewModel)模式的框架,其核心是通过数据绑定和响应式系统实现视图与数据的自动同步。以下是 Vue 实现 M…

vue轮播实现

vue轮播实现

Vue 轮播实现方法 使用第三方库(推荐) 安装 swiper 或 vue-awesome-swiper 库,快速实现功能丰富的轮播效果。 以 vue-awesome-swiper 为例: npm…

vue实现横滚

vue实现横滚

Vue 实现横滚效果 横滚效果通常指水平滚动内容,常见于轮播图、横向导航栏等场景。以下是几种实现方式: 使用 CSS 和 Vue 结合 通过 CSS 的 overflow-x 和 white-spa…

vue实现分站

vue实现分站

Vue 实现分站的方案 在 Vue 中实现分站功能通常涉及路由配置、环境变量管理和动态加载资源。以下是几种常见的实现方式: 基于路由的分站实现 通过 Vue Router 配置多路由,区分不同站点的…