Rumah hujung hadapan web View.js Cara menggunakan vue dan Element-plus untuk melaksanakan fungsi drag-and-drop dan pengisihan

Cara menggunakan vue dan Element-plus untuk melaksanakan fungsi drag-and-drop dan pengisihan

Jul 17, 2023 pm 09:02 PM
vue element-plus Isih seret dan lepas

Cara menggunakan vue dan Element-plus untuk melaksanakan fungsi drag-and-drop dan sorting

Pengenalan:
Dalam pembangunan web moden, pengalaman interaksi pengguna menjadi semakin penting. Fungsi seret dan lepas dan isihan ialah operasi interaktif biasa yang membolehkan pengguna menyusun semula elemen dengan mudah atau melaraskan kedudukan elemen. Artikel ini akan memperkenalkan cara menggunakan perpustakaan Vue dan Element-plus untuk melaksanakan fungsi drag-and-drop dan pengisihan serta menyediakan contoh kod yang sepadan.

Persediaan teknikal:
Untuk mula menulis kod yang berkaitan dengan Vue dan Element-plus, kita perlu menyediakan beberapa alatan dan persekitaran terlebih dahulu. Mula-mula, pastikan anda memasang Node.js dan Vue CLI. Kemudian, jalankan arahan berikut pada baris arahan untuk mencipta projek Vue baharu:

vue create drag-and-sort-demo
Salin selepas log masuk

Ikut gesaan untuk memilih konfigurasi lalai atau konfigurasikannya mengikut keperluan anda. Seterusnya, pasang perpustakaan Element-plus:

cd drag-and-sort-demo
npm install element-plus
Salin selepas log masuk

Selepas semuanya siap, kami mula menulis kod.

Laksanakan fungsi seret dan lepas:
Pertama, kita perlu memperkenalkan perpustakaan Element-plus ke dalam komponen Vue dan mendaftarkan komponen yang perlu digunakan:

<template>
  <div>
    <el-col :span="12">
      <el-card>
        <el-button type="success" icon="el-icon-plus" @click="addElement">
          Add Element
        </el-button>
        <el-draggable v-model="list">
          <template #item="{ element }">
            <el-card :header="element.title" shadow="hover">
              {{ element.content }}
            </el-card>
          </template>
        </el-draggable>
      </el-card>
    </el-col>
  </div>
</template>

<script>
import { ElButton, ElCard, ElCol, ElDraggable } from "element-plus";

export default {
  components: {
    ElButton,
    ElCard,
    ElCol,
    ElDraggable,
  },
  data() {
    return {
      list: [
        { title: "Card 1", content: "This is card 1" },
        { title: "Card 2", content: "This is card 2" },
        { title: "Card 3", content: "This is card 3" },
      ],
    };
  },
  methods: {
    addElement() {
      this.list.push({ title: "New Card", content: "This is a new card" });
    },
  },
};
</script>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan el- draggable Komponen untuk melaksanakan fungsi seret dan lepas. Arahan v-model mengikat tatasusunan bernama list, yang menyimpan semua elemen kad. Dengan mengklik butang "Tambah Elemen", anda boleh menambah elemen kad baharu secara dinamik pada tatasusunan senarai. Teg template digunakan dalam el-draggable untuk menentukan gaya dan kandungan setiap elemen kad. el-draggable组件来实现拖拽功能。v-model指令绑定了一个名为list的数组,该数组存储了所有的卡片元素。通过点击"Add Element"按钮,可以向list数组中动态添加新的卡片元素。在el-draggable内部使用了template标签来定义每个卡片元素的样式和内容。

接下来,我们来实现排序功能。

实现排序功能:
为了实现排序功能,我们需要使用el-draggable组件的@change事件以及相应的排序算法。下面是我们修改后的代码:

<template>
  <div>
    <el-col :span="12">
      <el-card>
        <el-button type="success" icon="el-icon-plus" @click="addElement">
          Add Element
        </el-button>
        <el-draggable v-model="list" @change="handleSort">
          <template #item="{ element }">
            <el-card :header="element.title" shadow="hover">
              {{ element.content }}
            </el-card>
          </template>
        </el-draggable>
      </el-card>
    </el-col>
  </div>
</template>

<script>
import { ElButton, ElCard, ElCol, ElDraggable } from "element-plus";

export default {
  components: {
    ElButton,
    ElCard,
    ElCol,
    ElDraggable,
  },
  data() {
    return {
      list: [
        { title: "Card 1", content: "This is card 1" },
        { title: "Card 2", content: "This is card 2" },
        { title: "Card 3", content: "This is card 3" },
      ],
    };
  },
  methods: {
    addElement() {
      this.list.push({ title: "New Card", content: "This is a new card" });
    },
    handleSort(event) {
      const { newIndex, oldIndex } = event;
      const movedElement = this.list.splice(oldIndex, 1)[0];
      this.list.splice(newIndex, 0, movedElement);
    },
  },
};
</script>
Salin selepas log masuk

在上述代码中,我们添加了一个名为handleSort的方法,该方法会在拖拽完成后被调用。通过提取@change事件中的newIndexoldIndex,我们可以获取被拖拽的卡片元素在数组中的新位置和旧位置,并通过数组的splice方法实现排序。

总结:
本文介绍了如何使用Vue和Element-plus实现拖拽和排序功能。通过el-draggable

Seterusnya, mari laksanakan fungsi pengisihan. 🎜🎜Laksanakan fungsi isihan: 🎜Untuk melaksanakan fungsi isihan, kita perlu menggunakan acara @change komponen el-draggable dan algoritma isihan yang sepadan. Berikut ialah kod kami yang diubah suai: 🎜rrreee🎜 Dalam kod di atas, kami menambah kaedah bernama handleSort, yang akan dipanggil selepas seretan selesai. Dengan mengekstrak newIndex dan oldIndex dalam acara @change, kami boleh mendapatkan kedudukan baharu dan lama bagi elemen kad yang diseret dalam tatasusunan , dan pengisihan dilaksanakan melalui kaedah splice tatasusunan. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan Vue dan Element-plus untuk melaksanakan fungsi drag-and-drop dan pengisihan. Melalui komponen el-draggable dan kaedah pengendalian acara yang sepadan, kami boleh melaksanakan operasi menyeret dan mengisih dengan mudah. Saya harap artikel ini akan membantu anda apabila membangunkan aplikasi web menggunakan Vue dan Element-plus. 🎜

Atas ialah kandungan terperinci Cara menggunakan vue dan Element-plus untuk melaksanakan fungsi drag-and-drop dan pengisihan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan echarts dalam vue Cara menggunakan echarts dalam vue May 09, 2024 pm 04:24 PM

Menggunakan ECharts dalam Vue memudahkan untuk menambahkan keupayaan visualisasi data pada aplikasi anda. Langkah khusus termasuk: memasang pakej ECharts dan Vue ECharts, memperkenalkan ECharts, mencipta komponen carta, mengkonfigurasi pilihan, menggunakan komponen carta, menjadikan carta responsif kepada data Vue, menambah ciri interaktif dan menggunakan penggunaan lanjutan.

Peranan lalai eksport dalam vue Peranan lalai eksport dalam vue May 09, 2024 pm 06:48 PM

Soalan: Apakah peranan lalai eksport dalam Vue? Penerangan terperinci: eksport lalai mentakrifkan eksport lalai komponen. Apabila mengimport, komponen diimport secara automatik. Permudahkan proses import, tingkatkan kejelasan dan cegah konflik. Biasa digunakan untuk mengeksport komponen individu, menggunakan kedua-dua eksport bernama dan lalai, dan mendaftarkan komponen global.

Cara menggunakan fungsi peta dalam vue Cara menggunakan fungsi peta dalam vue May 09, 2024 pm 06:54 PM

Fungsi peta Vue.js ialah fungsi tertib tinggi terbina dalam yang mencipta tatasusunan baharu di mana setiap elemen ialah hasil yang diubah bagi setiap elemen dalam tatasusunan asal. Sintaks ialah map(callbackFn), di mana callbackFn menerima setiap elemen dalam tatasusunan sebagai argumen pertama, secara pilihan indeks sebagai argumen kedua, dan mengembalikan nilai. Fungsi peta tidak mengubah tatasusunan asal.

Perbezaan antara acara dan $event dalam vue Perbezaan antara acara dan $event dalam vue May 08, 2024 pm 04:42 PM

Dalam Vue.js, acara ialah peristiwa JavaScript asli yang dicetuskan oleh penyemak imbas, manakala $event ialah objek peristiwa abstrak khusus Vue yang digunakan dalam komponen Vue. Secara amnya lebih mudah untuk menggunakan $event kerana ia diformat dan dipertingkatkan untuk menyokong pengikatan data. Gunakan acara apabila anda perlu mengakses kefungsian khusus objek acara asli.

Perbezaan antara eksport dan eksport lalai dalam vue Perbezaan antara eksport dan eksport lalai dalam vue May 08, 2024 pm 05:27 PM

Terdapat dua cara untuk mengeksport modul dalam Vue.js: eksport dan eksport lalai. eksport digunakan untuk mengeksport entiti bernama dan memerlukan penggunaan pendakap kerinting lalai eksport digunakan untuk mengeksport entiti lalai dan tidak memerlukan pendakap kerinting. Apabila mengimport, entiti yang dieksport melalui eksport perlu menggunakan nama mereka, manakala entiti yang dieksport secara lalai eksport boleh digunakan secara tersirat. Adalah disyorkan untuk menggunakan lalai eksport untuk modul yang perlu diimport beberapa kali dan menggunakan eksport untuk modul yang hanya dieksport sekali.

Peranan onmounted dalam vue Peranan onmounted dalam vue May 09, 2024 pm 02:51 PM

onMounted ialah cangkuk kitaran hayat pemasangan komponen dalam Vue Fungsinya adalah untuk melaksanakan operasi pemulaan selepas komponen dipasang pada DOM, seperti mendapatkan rujukan kepada elemen DOM, menetapkan data, menghantar permintaan HTTP, mendaftarkan pendengar acara, dsb. Ia hanya dipanggil sekali apabila komponen dipasang Jika anda perlu melakukan operasi selepas komponen dikemas kini atau sebelum ia dimusnahkan, anda boleh menggunakan cangkuk kitar hayat yang lain.

Apakah cangkuk dalam vue Apakah cangkuk dalam vue May 09, 2024 pm 06:33 PM

Cangkuk Vue ialah fungsi panggil balik yang melakukan tindakan pada peristiwa tertentu atau peringkat kitaran hayat. Ia termasuk cangkuk kitaran hayat (seperti beforeCreate, mounted, beforeDestroy), cangkuk pengendalian acara (seperti klik, input, keydown) dan cangkuk tersuai. Cangkuk meningkatkan kawalan komponen, bertindak balas kepada kitaran hayat komponen, mengendalikan interaksi pengguna dan meningkatkan kebolehgunaan semula komponen. Untuk menggunakan cangkuk, hanya tentukan fungsi cangkuk, laksanakan logik dan kembalikan nilai pilihan.

Apakah senario yang boleh digunakan untuk pengubah suai peristiwa dalam vue? Apakah senario yang boleh digunakan untuk pengubah suai peristiwa dalam vue? May 09, 2024 pm 02:33 PM

Pengubah suai acara Vue.js digunakan untuk menambah gelagat tertentu, termasuk: menghalang gelagat lalai (.prevent) menghentikan acara menggelegak (.stop) acara sekali (.sekali) menangkap acara (.capture) mendengar acara pasif (.pasif) Suai pengubah suai (.self)Pengubah suai kunci (.key)

See all articles