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

Zusammenfassung der Tipps zur CSS-Verwendung

Vor Kurzem habe ich mit der Aktualisierung meines ...

CSS-Code zum Erreichen eines Hintergrundverlaufs und automatischen Vollbilds

CSS-Probleme mit dem Hintergrundverlauf und dem a...

Wir treiben IE6 alleine in den Untergang

Tatsächlich fragen wir uns jeden Tag, wann IE6 wi...

Implementierungscode der Front-End-HTML-Skin-Änderungsfunktion

50 Zeilen Code zum Ändern von 5 Hautfarben, einsc...

So beheben Sie den Verbindungsfehler zur Datenbank beim Start von ServerManager

Servermanager-Startfehler bei Verbindung zur Date...

MySQL Serie 8 MySQL Server-Variablen

Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...

【HTML-Element】Detaillierte Erklärung des Tag-Textes

1. Verwenden Sie grundlegende Textelemente, um In...

Detaillierte Bereitstellung von Docker+Gitlab+Gitlab-Runner

Umfeld Server: centos7 Kunde: Fenster Stellen Sie...

Tiefes Verständnis der Verwendung von ::before/:before und ::after/:after

Teil 1: Grundlagen 1. Im Gegensatz zu Pseudoklass...

Basiswissen: Was bedeutet http vor einer Website-Adresse?

Was ist HTTP? Wenn wir eine Website durchsuchen m...

Reines CSS für eine coole Ladeanimation

Schauen wir uns an, welche Ladeanimationseffekte ...