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

HTML-Seite unterstützt die Implementierung des Dunkelmodus

Seit 2019 verwenden sowohl Android- als auch iOS-...

Unterscheiden Sie zwischen Nullwert und leerem Zeichen ('') in MySQL

Bei der täglichen Entwicklung geht es im Allgemei...

So zeigen Sie im Hintergrund laufende Programme in Linux an und schließen sie

1. Führen Sie die .sh-Datei aus Sie können es dir...

Unterschied zwischen src- und href-Attributen

Es besteht ein Unterschied zwischen src und href ...

Beispiel für die Verwendung des Nginx-Reverse-Proxys für Go-FastDFS

Hintergrund go-fastdfs ist ein verteiltes Dateisy...

Bedingtes Rendering von Vue (v-if und v-show)

Inhaltsverzeichnis 1. v-wenn 2. Verwenden Sie v-i...

Detaillierte Erklärung des Prinzips und der Funktion des JavaScript-Closures

Inhaltsverzeichnis Einführung Verwendung von Vers...

Anweisungen zur Verwendung des Datenbankverbindungspools Druid

Ersetzen Sie ihn durch den optimalen Datenbankver...

Umfassende Analyse des MySql-Master-Slave-Replikationsmechanismus

Inhaltsverzeichnis Master-Slave-Replikationsmecha...

Kann Asynchronität in JavaScript „Await“ speichern?

Ich wusste vorher, dass man await verwenden muss,...