第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 Bootstrap Vue 中將模態(tài)數(shù)據(jù)發(fā)送給父級(jí)?

如何在 Bootstrap Vue 中將模態(tài)數(shù)據(jù)發(fā)送給父級(jí)?

我是 Vue 和 Bootstrap Vue 的新手。我構(gòu)建了一個(gè)使用 API 數(shù)據(jù)數(shù)組的表。<b-modal>該表有一個(gè)在子組件中打開(kāi)的按鈕。該模式具有三個(gè)字段,通過(guò)單擊按鈕將數(shù)據(jù)附加到表的數(shù)組中。然后該表會(huì)更新。到這里為止就好了。問(wèn)題是:當(dāng)我嘗試從 推送更多信息時(shí)<b-modal>,我之前從 添加的信息<b-modal>在數(shù)組和表中都被修改。從API帶來(lái)的信息沒(méi)有被修改。怎么了?多謝。Vue.component('modal', {    props:['commodity_data'],    template:/*html*/`        <div>                        <b-modal id="addModal" ref="modal" hide-footer title="Add Commodity">                <b-form-group>                    <label>                    Hu Count                        <b-form-input                            id="hu_count"                            v-model="new_row.hu_count"                            >                        </b-form-input>                    </label>                    <label>                    Dimensions                        <b-form-input                            id="dimensions"                            v-model="new_row.dimensions"                            >                        </b-form-input>                    </label>                    <label>                    Weight                        <b-form-input                            id="weight"                            v-model="new_row.weight"                            >                        </b-form-input>                    </label>                </b-form-group>            <b-button variant="success" @click="addRow">Add Row</b-button>         </b-modal>        </div>    `,    data(){        return{            new_row:            {                dimensions: '',                hu_count: '',                weight: '',            }        }    },    methods:{        addRow: function () {                        this.commodity_data.push(this.new_row)            this.$refs.modal.hide()            console.log(this.commodity_data);        }    }})
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊

有兩個(gè)問(wèn)題:1)我們永遠(yuǎn)不應(yīng)該修改子組件中的 props,2)添加數(shù)據(jù)時(shí),每次都添加子數(shù)據(jù)的相同引用。

固定孩子

不是修改 prop,而是$emit使用克隆子數(shù)據(jù)的事件:

addRow() {

? ?this.$emit('add', { ...this.new_row });??

? ?this.$refs.modal.hide()

}

擴(kuò)展運(yùn)算符創(chuàng)建淺表副本。

修復(fù)父級(jí)

現(xiàn)在,孩子發(fā)出了一個(gè)父母應(yīng)該監(jiān)聽(tīng)的事件。在子標(biāo)簽上創(chuàng)建監(jiān)聽(tīng)器:

<modal?id="addModal"?@add="addData"?:commodity_data="commodity_data"></modal>

并創(chuàng)建處理程序方法(在父級(jí)中):

addData(data)?{?
??this.commodity_data.push(data);
}


查看完整回答
反對(duì) 回復(fù) 2023-11-11
  • 1 回答
  • 0 關(guān)注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)