Rumah > hujung hadapan web > View.js > teks badan

Cara melaksanakan pergerakan drag-and-drop medan borang dalam pemprosesan borang Vue

PHPz
Lepaskan: 2023-08-11 10:31:43
asal
1626 orang telah melayarinya

Cara melaksanakan pergerakan drag-and-drop medan borang dalam pemprosesan borang Vue

Cara melaksanakan pergerakan seret dan lepas medan borang dalam pemprosesan borang Vue

Dalam pembangunan Vue, borang ialah komponen yang sangat biasa, dan kadangkala kita perlu seret dan lepas medan borang. Artikel ini akan memperkenalkan cara melaksanakan pergerakan seret dan lepas medan borang dalam pemprosesan borang Vue dan menyediakan contoh kod yang sepadan.

1. Gunakan pemalam Vue.Draggable

Vue.Draggable ialah pemalam seret dan lepas berdasarkan Vue, yang boleh membantu kami mencapai kesan seret dan lepas elemen. Berikut ialah langkah asas untuk menggunakan pemalam Vue.Draggable untuk melaksanakan pergerakan seret dan lepas medan borang:

  1. Pasang Vue.Draggable:

Gunakan npm atau benang untuk memasang pemalam Vue.Draggable projek:

npm install vuedraggable --save
Salin selepas log masuk
  1. Perkenalkan Vue.Draggable:

Perkenalkan Vue.Draggable ke dalam komponen Vue dan daftarkannya sebagai komponen global:

import draggable from 'vuedraggable';
Vue.component('draggable', draggable);
Salin selepas log masuk
  1. Takrifkan senarai medan borang:
  2. 🜎 Takrifkan senarai medan dalam data. Data setiap medan termasuk nama medan dan jenis medan:
data() {
  return {
    formFields: [
      { name: '用户名', type: 'text' },
      { name: '密码', type: 'password' },
      { name: '邮箱', type: 'email' },
      // ...
    ]
  }
}
Salin selepas log masuk

Gunakan komponen Vue.Draggable:
  1. Gunakan komponen Vue.Draggable dalam templat untuk memaparkan senarai medan borang dan mencapai seret dan lepas kesan:
<draggable v-model="formFields" group="formFieldsGroup">
  <div v-for="(field, index) in formFields" :key="index">
    <div>{{ field.name }}</div>
    <div>{{ field.type }}</div>
  </div>
</draggable>
Salin selepas log masuk

Dalam kod di atas, gunakan arahan v-for untuk memaparkan borang dalam senarai Medan gelung, tambahkan kesan seret dan lepas pada setiap medan.

Susun semula medan borang:
  1. Apabila pengguna menyeret dan mengalihkan medan borang, Vue.Draggable akan mengemas kini pengisihan senarai medan borang secara automatik. Kita boleh mendapatkan tempahan medan borang terkini dengan mendengar acara dragend:
<draggable v-model="formFields" group="formFieldsGroup" @end="onDragEnd">
  <!-- ... -->
</draggable>

methods: {
  onDragEnd() {
    console.log(this.formFields);
  }
}
Salin selepas log masuk

Dalam kaedah onDragEnd, kita boleh mendapatkan pesanan medan borang terkini.

2. Simpan pesanan selepas menyeret dan bergerak

Melalui langkah di atas, kami telah menyedari kesan seret dan lepas medan borang, tetapi apabila halaman dimuat semula, pengisihan medan borang akan kembali ke keadaan asal . Untuk menyelesaikan masalah ini, kita perlu menyimpan susunan medan borang ke bahagian belakang atau storan setempat.

Di sini, kami menggunakan localStorage untuk menyimpan susunan medan borang. Berikut ialah langkah pelaksanaan khusus:

Tambah fungsi alat localStorage:
  1. Tambah fungsi alat localStorage pada projek untuk membaca dan menyimpan susunan medan borang. Anda boleh mencipta fail utils.js dan menambah kod berikut:
export function getFormFields() {
  return JSON.parse(localStorage.getItem('formFields')) || [];
}

export function saveFormFields(formFields) {
  localStorage.setItem('formFields', JSON.stringify(formFields));
}
Salin selepas log masuk

Kemas kini senarai medan borang:
  1. Dalam kitaran hayat komponen Vue yang dicipta, baca susunan medan borang dari localStorage dan kemas kini senarai medan borang :
import { getFormFields, saveFormFields } from 'utils';

export default {
  // ...
  created() {
    this.formFields = getFormFields();
  },
  // ...
}
Salin selepas log masuk

Pantau kemas kini pesanan medan borang:
  1. Untuk memantau perubahan susunan medan borang dalam masa nyata, data dalam localStorage perlu dikemas kini selepas seretan selesai:
<draggable v-model="formFields" group="formFieldsGroup" @end="onDragEnd">
  <!-- ... -->
</draggable>

methods: {
  onDragEnd() {
    saveFormFields(this.formFields);
  }
}
Salin selepas log masuk

Melalui langkah di atas, kami berjaya melaksanakan pergerakan seret dan lepas medan borang dan menyimpan fungsi jujukan.

Ringkasan:

Artikel ini memperkenalkan cara menggunakan pemalam Vue.Draggable dalam pemprosesan borang Vue untuk melaksanakan pergerakan seret dan lepas medan borang dan menyimpan susunan medan borang melalui localStorage. Dengan cara ini, kami boleh menyesuaikan susunan medan borang dengan mudah, meningkatkan pengalaman pengguna dan fleksibiliti operasi.

Perkara di atas adalah mengenai cara melaksanakan pergerakan seret dan lepas medan borang dalam pemprosesan borang Vue, saya harap ia akan membantu anda.

Atas ialah kandungan terperinci Cara melaksanakan pergerakan drag-and-drop medan borang dalam pemprosesan borang Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan