亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Vue中的程式設(shè)計方式渲染多個模態(tài)框在同一元件中
P粉627027031
P粉627027031 2023-08-28 16:23:40
0
1
718
<p>在我的組件中,有三個帶有不同內(nèi)容的彈出模態(tài)框。透過點擊特定按鈕,我需要打開對應(yīng)的彈出模態(tài)框。 </p> <p>這是我正在做的事情 <strong>對於按鈕1 -</strong></p> <pre class="brush:php;toolbar:false;"><s-button type="button" class="bl_btn" @click="onClickProdOpen"> 產(chǎn)品詳情 </s-button></pre> <p><strong>對於這個模態(tài)框1將是</strong></p> <pre class="brush:php;toolbar:false;"><s-modal v-model="isShowPopup1" :title="$t('LBL_PROD_CONT')" <my-component-one :pageId ="this.$options.name" :popupDefaultTab="popupOpenDefaultTab" :onClickClose="onClickclose" /></pre> <p><strong>這裡有一個按鈕點擊方法。像這樣多個不同模態(tài)框的點擊事件。 </strong></p> <pre class="brush:php;toolbar:false;">methods: { onClickProdOpen() { this.isShowPopup1 = true; this.popupOpenDefaultTab = 0; } }</pre> <p><s-modal是自訂模態(tài)框部分,內(nèi)容將會有所不同。所以,我重複了這個模態(tài)框程式碼,只是改變了內(nèi)容,也就是傳遞了不同的子元件(MyComponentOne,MyComponentTwo...)。 </p> <p>那麼,如何使用switch case語句來避免多次重複模態(tài)框程式碼,只需更改內(nèi)部內(nèi)容元件?任何建議都會有幫助。 </p>
P粉627027031
P粉627027031

全部回覆(1)
P粉256487077

一種選擇是將每個模態(tài)框的狀態(tài)放在一個物件中。這樣,你就不需要為每個模態(tài)方塊新增一個資料屬性。

如果模態(tài)框內(nèi)的內(nèi)容夠相似,你可以使用v-for,以相同的方式使用索引作為鍵。

<b-modal v-model="modal_states[1]">模態(tài)框1</b-modal>
    <b-button @click="openModal(1)">打開1</b-button>
    
    <b-modal v-model="modal_states[2]">模態(tài)框2</b-modal>
    <b-button @click="openModal(2)">打開2</b-button>
    
    <b-modal v-model="modal_states[3]">模態(tài)框3</b-modal>
    <b-button @click="openModal(3)">打開3</b-button>
data: {
    modal_states: {},
  },
  methods: {
    openModal(index){
      this.modal_states = {[index.toString()]:true}
    }
  },

https://codepen.io/timfranklin/pen/abWEwLy?editors=1111

#
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板