Rumah hujung hadapan web View.js Bagaimana untuk melaksanakan lapisan pop timbul dan kotak modal dalam Vue?

Bagaimana untuk melaksanakan lapisan pop timbul dan kotak modal dalam Vue?

Jun 25, 2023 am 09:25 AM
vue lapisan pop timbul Kotak modal.

Vue ialah rangka kerja bahagian hadapan berasaskan JavaScript yang menyediakan banyak alatan dan komponen yang mudah untuk membina antara muka aplikasi satu halaman (SPA) dan interaksi pengguna. Antaranya, lapisan pop timbul (modal) dan kotak modal (popover) ialah komponen UI biasa, yang juga boleh dilaksanakan dengan mudah dalam Vue. Artikel ini akan memperkenalkan cara untuk melaksanakan lapisan pop timbul dan kotak modal dalam Vue.

1. Lapisan pop timbul

Lapisan pop timbul biasanya digunakan untuk menggesa mesej, memaparkan menu atau panel operasi dan biasanya perlu meliputi seluruh halaman atau sebahagian kawasan. Melaksanakan lapisan pop timbul dalam Vue memerlukan penggunaan komponen dan slot dinamik.

  1. Buat komponen lapisan pop timbul

Pertama, kita perlu mencipta komponen lapisan pop timbul. Di sini, kami mencipta komponen lapisan pop timbul bernama Modal dan memasukkan slot untuk memuatkan kandungan secara dinamik yang perlu dipaparkan.

<template>
  <div class="modal-container" v-show="show">
    <div class="modal-content">
      <slot></slot>
    </div>
  </div>
</template>

<script>
export default {
  name: 'Modal',
  props: {
    show: {
      type: Boolean,
      default: false
    }
  }
}
</script>

<style scoped>
.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-content {
  background-color: #fff;
  padding: 20px;
}
</style>
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mentakrifkan komponen bernama Modal dan lulus dalam prop bernama show, yang digunakan untuk mengawal sama ada lapisan pop timbul dipaparkan. Dalam templat komponen, kami menggunakan slot dinamik untuk memaparkan kandungan yang perlu dipaparkan dalam lapisan pop timbul. Kami kemudian menetapkan beberapa gaya untuk memusatkan lapisan pop timbul dan menambah warna latar belakang separa telus.

  1. Gunakan komponen Modal dalam komponen yang perlu memaparkan lapisan popup

Seterusnya, kita perlu menggunakan komponen Modal dalam komponen yang perlu memaparkan lapisan popup. Di sini, kami mencipta komponen akar yang dipanggil App dan menambah butang dalam komponen untuk mencetuskan paparan lapisan pop timbul.

<template>
  <div class="app">
    <button @click="showModal = !showModal">显示弹出层</button>
    <modal v-bind:show="showModal">
      <p>这是弹出层中的内容</p>
    </modal>
  </div>
</template>

<script>
import Modal from './components/Modal.vue'

export default {
  name: 'App',
  components: {
    Modal
  },
  data() {
    return {
      showModal: false
    }
  }
}
</script>

<style>
.app {
  padding: 20px;
}
</style>
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mengimport komponen Modal yang ditakrifkan sebelum ini dan menambah butang pada templat komponen untuk mencetuskan paparan lapisan pop timbul. Kemudian, kami menggunakan arahan v-bind untuk mengikat atribut showModal kepada atribut show komponen Modal. Akhir sekali, kami meletakkan kandungan yang perlu dipaparkan dalam lapisan pop timbul dalam slot komponen Modal.

2. Kotak modal

Kotak modal biasanya digunakan untuk menggesa pengguna mengesahkan atau memilih, sambil menghalang pengguna daripada melakukan operasi lain sebelum melakukan operasi. Sama seperti lapisan pop timbul, komponen dan slot dinamik juga diperlukan untuk melaksanakan kotak modal dalam Vue.

  1. Buat komponen modal

Pertama, kita perlu mencipta komponen modal. Di sini, kami mencipta komponen modal bernama Pengesahan dan mengandungi dua slot, satu untuk memaparkan maklumat segera dan satu lagi untuk memaparkan butang pengesahan dan batal.

<template>
  <div class="modal-container" v-show="show">
    <div class="modal-content">
      <div class="modal-body">
        <slot name="body"></slot>
      </div>
      <div class="modal-footer">
        <slot name="footer">
          <button @click="cancel">取消</button>
          <button @click="confirm">确认</button>
        </slot>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: 'Confirmation',
  props: {
    show: {
      type: Boolean,
      default: false
    },
    onCancel: Function,
    onConfirm: Function
  },
  methods: {
    cancel() {
      this.onCancel && this.onCancel()
    },
    confirm() {
      this.onConfirm && this.onConfirm()
    }
  }
}
</script>

<style scoped>
.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-content {
  background-color: #fff;
  padding: 20px;
}

.modal-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}

.modal-footer button {
  margin-left: 10px;
}
</style>
Salin selepas log masuk

Dalam kod di atas, kami mencipta komponen kotak modal bernama Pengesahan dan lulus dalam sifat bernama show, onCancel dan onConfirm, yang digunakan untuk mengawal sama ada kotak modal dipaparkan, membatalkan operasi dan mengesahkan beroperasi. Dalam templat komponen, kami menggunakan dua slot, satu untuk memaparkan maklumat segera dan satu untuk memaparkan butang sahkan dan batal. Dalam kaedah tersebut, kami mentakrifkan kaedah membatalkan dan mengesahkan untuk mengendalikan operasi pembatalan dan pengesahan, dan mencetuskan fungsi panggil balik yang diluluskan oleh komponen induk dalam kaedah ini.

  1. Gunakan komponen Pengesahan dalam komponen yang perlu memaparkan kotak modal

Seterusnya, kita perlu menggunakan komponen Pengesahan dalam komponen yang perlu memaparkan kotak modal. Di sini, kami mencipta komponen akar bernama App dan menambah butang dalam komponen untuk mencetuskan komponen Pengesahan untuk memaparkan kotak modal.

<template>
  <div class="app">
    <button @click="showModal = !showModal">显示模态框</button>
    <confirmation
      v-bind:show="showModal"
      v-bind:onCancel="cancel"
      v-bind:onConfirm="confirm"
    >
      <template v-slot:body>
        <p>确定要删除吗?</p>
      </template>
    </confirmation>
  </div>
</template>

<script>
import Confirmation from './components/Confirmation.vue'

export default {
  name: 'App',
  components: {
    Confirmation
  },
  data() {
    return {
      showModal: false
    }
  },
  methods: {
    cancel() {
      this.showModal = false
    },
    confirm() {
      alert('删除成功!')
      this.showModal = false
    }
  }
}
</script>

<style>
.app {
  padding: 20px;
}
</style>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan komponen Pengesahan sebagai komponen kotak modal dan mengikat atribut showModal, kaedah membatalkan dan mengesahkan kaedah kepada sifat komponen Pengesahan. Dalam slot komponen Pengesahan, kami memaparkan maklumat segera untuk dipaparkan. Dalam templat Vue, kami menggunakan arahan v-slot untuk menentukan slot yang digunakan dalam komponen Pengesahan, serta nama slot (badan). Dalam komponen induk, kami mentakrifkan kaedah pembatalan dan kaedah pengesahan untuk mengendalikan operasi pembatalan dan pengesahan, dan menggesa pengguna bahawa pemadaman berjaya semasa operasi pengesahan.

Ringkasan

Melaksanakan lapisan pop timbul dan kotak modal dalam Vue memerlukan penggunaan komponen dan slot dinamik. Dengan menggunakan komponen sebagai lapisan pop timbul atau kotak modal, kami boleh melaksanakan komponen UI biasa ini dengan mudah. Pada masa yang sama, dengan menghantar fungsi panggil balik kepada komponen kanak-kanak, kami boleh mengendalikan operasi pengguna dalam komponen kanak-kanak dengan mudah dan menyuapkan hasil kembali kepada komponen induk.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan lapisan pop timbul dan kotak modal dalam Vue?. 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
1 bulan 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.

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.

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.

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