您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Vue中form表單動態(tài)如何添加組件的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
效果如下:
這種效果實現(xiàn)其實就是對 v-for
指令的一種使用,組件
不是必須的,只是為了將這部門的代碼我們單獨的拎出來,便于查看,好了,話不多說,我們來看下具體怎么來實現(xiàn)。
案例效果的實現(xiàn)
1.創(chuàng)建組件
首先我們創(chuàng)建一個單獨的組件,同時在 template
中定義我們的表單元素,此處使用的是 element UI
來實現(xiàn)效果。
2.import組件
我們需要在父組件中引入創(chuàng)建的組件,并通過 v-for
來實現(xiàn)動態(tài)處理的效果,關(guān)鍵代碼如下
使用組件
在 data
中定義 edus
數(shù)組.
3.實現(xiàn)添加功能
要實現(xiàn)動態(tài)添加組件的功能,我們需要通過點擊添加的按鈕來增加數(shù)組 edus
中的元素,如下
let addEduView = function(){ this.edus.push({}) }
如此即可實現(xiàn)動態(tài)添加的功能。
4.實現(xiàn)移除功能
實現(xiàn)移除動態(tài)添加的組件,我們需要在組件中調(diào)用父組件中的方法。如下
父組件中定義移除的方法
let deleteEducation = function(index){ if (index !== 0) { this.edus.splice(index, 1) } }
子組件中回調(diào)
5.提交數(shù)據(jù)
當(dāng)我們要提交表單數(shù)據(jù)的時候,怎么將動態(tài)添加的組件中的數(shù)據(jù)一并提交給后臺服務(wù)呢,步驟如下:
提交數(shù)據(jù)的時候?qū)?edus
數(shù)組中的數(shù)據(jù)和表單數(shù)據(jù)一塊轉(zhuǎn)換為 JSON
數(shù)據(jù)提交到后臺。
6.清空組件
最后操作完成需要將動態(tài)添加的組件處理掉怎么實現(xiàn)呢?其實效果很簡單,我們只需要清空 edus
數(shù)組即可
感謝各位的閱讀!關(guān)于“Vue中form表單動態(tài)如何添加組件”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。