In einem Artikel erfahren Sie, wie Sie mehrere DIVs und Schaltflächenbindungs-Eingabeereignisse in VUE implementieren

In einem Artikel erfahren Sie, wie Sie mehrere DIVs und Schaltflächenbindungs-Eingabeereignisse in VUE implementieren

Aktuell besteht die Anforderung, dass beim Klicken auf den OK-Button oder Drücken der Tastatur-Eingabetaste eine Aktion ausgeführt wird, was an vielen Stellen nötig ist.

Ich habe mehrere Methoden ausprobiert, aber keine davon hat funktioniert.

Zuerst habe ich die Methode @keyup.enter an das Div (ebenfalls an die Schaltfläche) gebunden, aber das hatte überhaupt keine Wirkung. Dann habe ich die Methode im Internet befolgt und sie folgendermaßen geschrieben:

<div class="btn submit" @keyup.enter="submit" @click="submit">Bestätigen (Eingabe)</div>
erstellt(){
   Dokument.onkeydown = Funktion(e) {
     wenn(e.keyCode == 13){
       console.log("Rufen Sie die Methode auf, die ausgeführt werden muss"); 
     }
   }
 },

Damit lässt sich zwar das Carriage Return-Event implementieren, allerdings ist es global, d.h. wenn man in anderen Komponenten die Enter-Taste drückt, wird hier auch das Carriage Return-Event aufgerufen. Diese Methode funktioniert nicht.

Dann habe ich Folgendes gemacht:

1. Fügen Sie zwischen der Schaltfläche „OK“ und der Schaltfläche „Abbrechen“ ein <input>-Tag hinzu (wenn Sie es in der Mitte platzieren, kann dies als Abstandshalter zwischen den Schaltflächen dienen, sodass „margin-left“ nicht geschrieben werden muss) und fügen Sie dann das Ereignis „@keyup.enter“ zu diesem Eingabetag hinzu.

<template slot="Fußzeile">
        <div Klasse="dialog-footer dis-flex">
          <div class="btn cancel" @click="showDialog = false">Abbrechen (Esc)</div>
          <Eingabe
            Typ="Text"
            ref="Eingabedaten"
            Klasse="hiddenIpt"
            @keyup.enter="Senden"
          />
          <div class="btn senden" @click="senden">
            Bestätigen (Ent)
          </div>
        </div>
</Vorlage>

2. Schreiben Sie einen Listener, um das Eingabefeld automatisch zu fokussieren, wenn das Popup-Fenster geöffnet wird (Eingabedaten werden mit Ref an die Eingabe gebunden).

betrachten:
    zeigeDialog() {
      wenn (dieser.showDialog) {
        //this.$refs.inputdata.focus(); Falsche Art, dies zu schreiben.$nextTick(() => {//Richtige Art, dies zu schreiben.$refs.inputdata.focus();
        });
      }
    },
  },

3. Blenden Sie das Eingabefeld aus (legen Sie die Breite fest, die als Abstand zwischen den Schaltflächen „OK“ und „Abbrechen“ verwendet werden soll).

.hiddenIpt {
    Breite: 2rem;
    Deckkraft: 0;
  }

Dies ist die perfekte Lösung. Wenn Sie eine bessere Lösung haben, können Sie sich gerne an uns wenden.

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können!

Das könnte Sie auch interessieren:
  • Vue2.x erhält Daten von der QQ-Musik-API über den Backend-Schnittstellen-Proxy
  • Detaillierte Erklärung des Proxy-Zugriffs auf Daten im Vue-Quellcode
  • VUE Erste Schritte Erlernen der Ereignisbehandlung
  • Vue3 Vue-Ereignisbehandlungshandbuch
  • Detaillierte Erläuterung des Datenproxys und der Ereignisse von VUE

<<:  Beispiele für dl-, dt- und dd-Listenbezeichnungen

>>:  So erstellen Sie Ihr eigenes Docker-Image und laden es auf Dockerhub hoch

Artikel empfehlen

Über MySQL müssen Sie die Datentypen und Operationstabellen kennen

Datentypen und Operationen Datentabelle 1.1 MySQL...

So erreichen Sie eine nahtlose Token-Aktualisierung

Inhaltsverzeichnis 1. Nachfrage Methode 1 Methode...

So installieren Sie MySQL über SSH auf einem CentOS VPS

Geben Sie yum install mysql-server Drücken Sie Y,...

Anleitung zur Verwendung von env in vue cli

Inhaltsverzeichnis Vorwort Einführung-Offiziell B...

Ubuntu 15.04 öffnet den MySQL-Remote-Port 3306

Ubuntu 15.04 öffnet den MySQL-Remote-Port 3306. A...

Konzept und Anwendungsbeispiele für die MySQL-Indexkardinalität

Dieser Artikel erläutert anhand von Beispielen da...

Detaillierte Schritte für einen reibungslosen Übergang von MySQL zu MariaDB

1. Einführung in MariaDB und MySQL 1. Einführung ...

So löschen Sie die Hintergrundfarbe des A-Tags, wenn in H5 darauf geklickt wird

1. Die blaue Farbe des Tags wird aufgehoben, wenn...

Unterschied und Prinzipanalyse des Nginx-Forward- und Reverse-Proxy

1. Der Unterschied zwischen Forward-Proxy und Rev...

CSS3-Countdown-Effekt

Ergebnisse erzielen Implementierungscode html <...

CocosCreator Skelettanimation Drachenknochen

CocosCreator Version 2.3.4 Drachenknochenanimatio...