Maison interface Web Questions et réponses frontales Comment cliquer sur la touche Entrée pour vous connecter directement à Vue

Comment cliquer sur la touche Entrée pour vous connecter directement à Vue

May 11, 2023 am 11:01 AM

Vue.js est un framework JavaScript progressif pour créer des interfaces utilisateur. En tant qu'outil, Vue.js est plus flexible et peut être utilisé non seulement pour les sites Web PC mais également pour le développement d'applications mobiles. Dans de nombreux scénarios, nous devons permettre aux utilisateurs de se connecter via un formulaire sur la page. Dans cet article, nous présenterons comment utiliser Vue.js pour implémenter la touche Entrée pour vous connecter directement.

1. Implémentation du code de base

Tout d'abord, nous avons besoin d'une zone de saisie et d'un bouton de connexion. L'exemple de code est le suivant :

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

<script>
export default {
  data () {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    login () {
      // 登录操作
    }
  }
}
</script>

Parmi eux, la directive v-model est utilisée pour deux. -way lie la valeur de la zone de saisie, l'événement @keyup.enter surveille la touche entrée, l'événement @click surveille le clic de la souris et login</code > est la fonction de connexion. <code>v-model 指令用于双向绑定输入框的值,@keyup.enter 事件监听回车键,@click 事件监听鼠标点击,login 为登录函数。

我们在模板中,将回车键的事件绑定到了输入框上,并且在登录按钮上同步添加了点击事件。在输入框的回车事件中,直接调用了登录函数,以完成当前的登录操作。

二、防止重复提交

我们可以在登录按钮和回车键事件上,使用 @click.prevent@keyup.enter.prevent 防止多次提交,避免重复操作。如下:

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

<script>
export default {
  data () {
    return {
      username: '',
      password: '',
      isSubmitting: false,
    }
  },
  methods: {
    login () {
      if(this.isSubmitting) return;
      
      this.isSubmiting = true;
      // 登录操作
      
      this.isSubmitting = false;
    }
  }
}
</script>

在数据中增加一个 isSubmitting 属性,用于判断当前是否正在提交表单。在调用登录函数时检查该属性是否为真,如果为真,则直接返回,避免了重复提交表单,确保了用户的正常体验。

三、键盘焦点

当表单中存在多个输入框时,我们需要一个方法来确定用户在哪一个输入框中。可以使用 Vue.js 提供的 ref 属性获取元素的键盘焦点。如下:

<template>
  <div>
    <input v-model="username" type="text" placeholder="请输入用户名" ref="usernameInput">
    <input v-model="password" type="password" placeholder="请输入密码" @keyup.enter.prevent="submit" ref="passwordInput">
    <button @click.prevent="submit">登录</button>
  </div>
</template>

<script>
export default {
  data () {
    return {
      username: '',
      password: '',
      isSubmitting: false,
    }
  },
  methods: {
    submit () {
      if(this.isSubmitting) return;
      
      this.isSubmiting = true;
      // 登录操作
  
      this.isSubmitting = false;
    }
  },
  mounted() {
    this.$refs.usernameInput.$el.focus();
  }
}
</script>

我们在 mounted 生命周期中,使用 $refs 属性获取输入框的 DOM 元素,并使用 focus

Dans le modèle, nous avons lié l'événement de touche Entrée à la zone de saisie et ajouté simultanément un événement de clic au bouton de connexion. Dans l'événement enter de la zone de saisie, la fonction de connexion est directement appelée pour terminer l'opération de connexion en cours.

2. Empêcher les soumissions répétées

Nous pouvons utiliser @click.prevent et @keyup.enter.prevent sur le bouton de connexion et saisir des événements clés pour empêcher les soumissions multiples. pour éviter les doubles emplois. Comme suit : 🎜rrreee🎜Ajoutez un attribut isSubmitting aux données pour déterminer si le formulaire est actuellement en cours de soumission. Vérifiez si cet attribut est vrai lors de l'appel de la fonction de connexion. S'il est vrai, renvoyez-le directement, en évitant la soumission répétée du formulaire et en garantissant une expérience utilisateur normale. 🎜🎜3. Focus clavier🎜🎜Lorsqu'il y a plusieurs zones de saisie dans le formulaire, nous avons besoin d'une méthode pour déterminer dans quelle zone de saisie se trouve l'utilisateur. Vous pouvez obtenir le focus clavier d'un élément en utilisant l'attribut ref fourni par Vue.js. Comme suit : 🎜rrreee🎜Dans le cycle de vie Mounted, nous utilisons l'attribut $refs pour obtenir l'élément DOM de la zone de saisie, et utilisons le focus méthode pour focaliser le clavier. Le focus est défini sur la première zone de saisie. 🎜🎜4. Résumé🎜🎜Grâce aux pratiques ci-dessus, nous avons appris à utiliser Vue.js pour implémenter la fonction de connexion directe avec la touche Entrée et appliqué un traitement pour éviter les soumissions répétées et la mise au point du clavier, optimisant ainsi l'expérience utilisateur. Une partie du code d'implémentation est également donnée dans l'exemple de code, j'espère qu'il vous sera utile. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser les balises Del et INS dans HTML Comment utiliser les balises Del et INS dans HTML Aug 12, 2025 am 11:38 AM

ThetagisUsesedTomarkdeletedText, éventuellement, avec la manière dont la civil de la manière

Comment utiliser les gradients CSS pour les arrière-plans Comment utiliser les gradients CSS pour les arrière-plans Aug 17, 2025 am 08:39 AM

CssgradientProvidesMoothColOrTransitionwithOrtimages.1.LeargradientSitransitionColorsAlongastraightLinedDirectionsliketobottomorangleslike45deg, andsupportmultiplecolorstopsforculeo

Comment pouvez-vous rendre un élément HTML modifiable par l'utilisateur? Comment pouvez-vous rendre un élément HTML modifiable par l'utilisateur? Aug 11, 2025 pm 05:23 PM

Oui, vous pouvez rendre les éléments HTML modifiables en utilisant l'attribut satisfait. La méthode spécifique consiste à ajouter un contenudtable = "true" à l'élément cible. Par exemple, vous pouvez modifier ce texte et l'utilisateur peut cliquer directement et modifier le contenu. Cet attribut convient aux éléments au niveau du bloc et en ligne tels que Div, P, Span, H1 à H6. La valeur par défaut est "vrai" pour être modifiable, "False" n'est pas éditable, et "hériter" pour hériter des paramètres de l'élément parent. Afin d'améliorer l'accessibilité, il est recommandé d'ajouter tabindex = "0 & quo

Comment créer un curseur de témoignage réactif avec CSS Comment créer un curseur de témoignage réactif avec CSS Aug 12, 2025 am 09:42 AM

Il est possible de créer un curseur de carrousel automatique réactif avec un CSS pur, il suffit de combiner la structure HTML, la disposition Flexbox et l'animation CSS. 2. Construisez d'abord un conteneur HTML sémantique contenant plusieurs termes de recommandation, chaque .Item contient du contenu de référence et des informations sur l'auteur. 3. Utilisez le conteneur parent pour définir l'affichage: flex, largeur: 300% (trois diapositives) et appliquez un débordement: caché pour obtenir une disposition horizontale. 4. Utilisez @KeyFrames pour définir une transformation Translatex de 0% à -100%, et combinez l'animation: Scroll15SLineArinfinite pour obtenir un défilement automatique sans faille. 5. Ajouter des médias

Comment créer un indice et un exposant dans HTML Comment créer un indice et un exposant dans HTML Aug 20, 2025 am 11:37 AM

TOCREATESUBScriptAndSuperscriptTextTextInHtml, usethendtags.1.USETOFORMATSUBScriptText, telasinchemicalformulaslikeh₂o.2.UsetoFormatsUperscriptText, telshesinexponents11.

Comment utiliser efficacement les sélecteurs CSS Comment utiliser efficacement les sélecteurs CSS Aug 11, 2025 am 11:12 AM

Lorsque vous utilisez des sélecteurs CSS, les sélecteurs à faible spécifiquement spécifique doivent être utilisés en premier pour éviter les limitations excessives; 1. Comprendre le niveau de spécificité et les utiliser raisonnablement dans l'ordre de type, de classe et d'ID; 2. Utilisez des noms de classe polyvalents pour améliorer la réutilisabilité et la maintenabilité; 3. Utilisez des attributs et des sélecteurs de classe pseudo pour éviter les problèmes de performances; 4. Gardez le sélecteur court et clair; 5. Utiliser BEM et d'autres spécifications de dénomination pour améliorer la clarté structurelle; 6. Évitez les abus de sélecteurs de balises et: nième-enfant, et donnez la priorité à l'utilisation de classes d'outils ou de CSS modulaires pour s'assurer que le style est contrôlable pendant longtemps.

Comment créer une liste déroulante sélectionnée dans HTML Comment créer une liste déroulante sélectionnée dans HTML Aug 16, 2025 am 05:32 AM

Utiliser et créer des menus déroulants; 2. Ajouter des balises et des noms avec les attributs et noms; 3. Définissez les options par défaut avec les attributs sélectionnés; 4. Options de groupe; 5. Ajouter les attributs requis pour atteindre la vérification requise; Un menu déroulant HTML complet doit contenir des balises, des noms, du regroupement des options et de la vérification pour garantir des fonctions complètes et conviviales.

Comment utiliser la balise d'adresse dans HTML Comment utiliser la balise d'adresse dans HTML Aug 15, 2025 am 06:24 AM

ThetagisUsedTodeFineContActinformationFortHuthorOrownerOfAdocumentOroror

See all articles