Vue implementiert die Drag & Drop-Sortierfunktion der Seiten-Div-Box

Vue implementiert die Drag & Drop-Sortierfunktion der Seiten-Div-Box

vue implementiert die Drag & Drop-Sortierfunktion der Div-Box auf der Seite. Vorwort: Es gibt viele Plug-Ins und Methoden auf dem Markt, die die Drag & Drop-Sortierfunktion implementieren. In diesem Abschnitt wird nicht näher darauf eingegangen, sondern nur eine Methode besprochen: die Übergangsgruppenmethode von CSS3

Effektbild:

1. Verwendung im DOM:

    <Übergangsgruppe Klasse="Container" Name="Sortieren">
        <div Klasse = "app-item" v-for = "App in benutzerdefinierten Apps" :key = "app.id" :draggable = "true"
            @dragstart="dragstart(App)"
            @dragenter="dragenter(app,$event)"
            @dragend="getDragend(customApps, 'customer', $event)">
            <div>
                <img class="icon_a" v-if="app.logo" :src="app.logo" >
                <div Klasse="Auslassungspunkte" >{{app.name}}</div>
            </div>
        </div>
    </Übergangsgruppe>

2. Definieren Sie Daten in Daten

    importiere { APi } von '@/api/enterpriseAPi'
    <Skript>
        Standard exportieren {
            Daten() {
                zurückkehren {
                    alteDaten: [],
                    neueDaten: [],
                    benutzerdefinierteApps: [],
                    dragStartId: '',
                    dragEndId: ''
                }
            }
        }
    </Skript>

3. Verwendung in Methoden

    dragstart(Wert) {
        this.oldData = Wert
        this.dragStartId = Wert.id
    },
    dragenter(Wert) {
        this.newData = Wert
        this.dragEndId = Wert.id
    },
    getDragend(listData, Typ) {
            wenn (diese.altenDaten !== diese.neuenDaten) {
                let alterIndex = listData.indexOf(diese.altenData)
                let neuerIndex = listData.indexOf(diese.neuenDaten)
                let newItems = [...listData]
                // Den vorherigen DOM-Knoten löschen newItems.splice(oldIndex, 1)
                // Einen neuen DOM-Knoten am Ende des Drag-Ziels hinzufügen newItems.splice(newIndex, 0, this.oldData)
                // Nachdem jeder Drag abgeschlossen ist, werden die durch den Drag verarbeiteten Daten dem ursprünglichen Array zugewiesen, die DOM-Ansicht wird aktualisiert und die Seite zeigt die Drag-Animation an this.customApps = newItems
                // Rufen Sie die Schnittstelle auf, um Daten jedes Mal zu speichern, wenn der Drag endet. Api(this.dragStartId, this.dragEndId).then((res) => {})
            }
        },

Animationsstil für die Drag-Completion:

    <style lang="scss" scoped>
        .sort-move {
            Übergang: Transformation 1s;
        }
    </Stil>

Dies ist das Ende dieses Artikels über die Verwendung von Vue zum Implementieren der Drag-and-Sort-Funktion von Div-Boxen auf der Seite. Weitere verwandte Inhalte zum Ziehen und Sortieren von Vue-Div-Boxen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Vue implementiert die Funktion zum Ziehen und Sortieren von Listen
  • Vue implementiert Auswahl-, Zieh- und Sortiereffekte basierend auf vuedraggable
  • Vue Drag-Komponente Vuedraggable API-Optionen zum gegenseitigen Ziehen und Sortieren zwischen Boxen
  • Implementierung einer Drag & Drop-Sortierfunktion mit sanften Übergängen basierend auf Vue
  • Verwenden Sie die Vue-Draggable-Komponente, um die Drag & Drop-Sortierung von Tabelleninhalten im Vue-Projekt zu implementieren
  • vue.draggable realisiert den Drag & Drop-Sortiereffekt der Tabelle
  • vuedraggable+element ui realisiert den Drag & Drop-Sortiereffekt von Seitensteuerelementen
  • Detaillierte Erklärung zur Verwendung von vuedraggable, einem Drag-and-Drop-Sortier-Plugin für Vue

<<:  Umfassende Analyse von optimistischer Sperre, pessimistischer Sperre und MVCC in MySQL

>>:  So verwenden Sie ein Domestic Image Warehouse für Docker

Artikel empfehlen

MySQL-langsame Abfrage pt-query-digest Analyse des langsamen Abfrageprotokolls

1. Einleitung pt-query-digest ist ein Tool zum An...

Tiefgreifendes Verständnis der sieben Kommunikationsmethoden von Vue-Komponenten

Inhaltsverzeichnis 1. Requisiten/$emit Einführung...

Erste Schritte mit Mysql - SQL-Ausführungsprozess

Inhaltsverzeichnis 1. Prozess 2. Kernarchitektur ...

Untersuchung der Eingabetastenfunktion vom Typ „Datei“

<br />Beim Hochladen auf manchen Websites wi...

So entfernen Sie MySQL aus Ubuntu und installieren es neu

Löschen Sie zuerst MySQL: sudo apt-get remove mys...

Natives JS zur Implementierung eines Dropdown-Menüs

Dropdown-Menüs sind auch im wirklichen Leben weit...

So installieren Sie eine ISO-Datei im Linux-System

Wie installiere ich ISO-Dateien unter einem Linux...

js zur Implementierung eines Web-Rechners

Wie erstelle ich mit HTML, CSS und JS einen einfa...

Der Browser der Betaversion IE9 unterstützt HTML5/CSS3

Manche Leute sagen, dass IE9 die zweite Revolutio...

Beheben Sie den Fehler beim Löschen von MySQL-Benutzern

Als der Autor MySQL zum Hinzufügen eines Benutzer...