Buat berbilang kotak modal secara pemrograman dalam komponen yang sama dalam Vue
P粉627027031
2023-08-28 16:23:40
<p>Dalam komponen saya, saya mempunyai tiga modal timbul dengan kandungan berbeza. Dengan mengklik pada butang tertentu, saya perlu membuka modal pop timbul yang sepadan. </p>
<p>Inilah yang saya lakukan
<strong>Untuk Butang 1 -</strong></p>
<pre class="brush:php;toolbar:false;"><s-button type="button" class="bl_btn" @click="onClickProdOpen">
Maklumat produk
</s-button></pre>
<p><strong>Untuk modal 1 ini akan menjadi </strong></p>
<pre class="brush:php;toolbar:false;"><s-modal v-model="isShowPopup1" :title="$t('LBL_PROD_CONT')"
<komponen-saya
:pageId ="ini.$options.name"
:popupDefaultTab="popupOpenDefaultTab"
:onClickClose="onClickclose"
/></pra>
<p><strong>Berikut ialah kaedah klik butang. Klik acara untuk berbilang kotak modal berbeza seperti ini. </strong></p>
<pre class="brush:php;toolbar:false;">kaedah: {
onClickProdOpen() {
this.isShowPopup1 = benar;
this.popupOpenDefaultTab = 0;
}
}</pre>
<p><s-modal ialah bahagian kotak modal tersuai, kandungannya akan berbeza. Jadi, saya mengulangi kod modal ini dan hanya menukar kandungan, iaitu lulus komponen anak yang berbeza (MyComponentOne, MyComponentTwo...). </p>
<p>Jadi, bagaimanakah saya boleh menggunakan pernyataan kes suis untuk mengelak daripada mengulangi kod kotak modal beberapa kali dan hanya menukar komponen kandungan dalaman? Sebarang cadangan akan membantu. </p>
Satu pilihan ialah meletakkan keadaan setiap modal dalam objek. Dengan cara ini, anda tidak perlu menambah atribut data pada setiap modal.
Jika kandungan di dalam modal cukup serupa, anda boleh menggunakan v-for, menggunakan indeks sebagai kunci dengan cara yang sama.
https://codepen.io/timfranklin/pen/abWEwLy?editors=1111