我想創建一個包含嵌套字段集合的Vue頁面。即家長形式和可重複的兒童形式。Vue.js - 嵌套字段數組刷新不正確的數據
它的工作原理不同之處在於刪除子窗體時,模板渲染不正確
請看到我創建的小提琴例子 - https://jsfiddle.net/c4marcus/1mu2oceb/8/
的樣本數據包含了披頭士的基本信息。如果點擊「Ringo」旁邊的垃圾桶,那麼錯誤地「George」將會消失,而不是「Ringo」。
但是,當您點擊提交時,正在保存正確的數據(請參見下面的屏幕截圖)。
我覺得問題必須在於MemberFormset
vue組件的remove
方法,該方法是通過單擊垃圾箱按鈕觸發的。
remove: function(index) {
this.members.splice(index, 1)
this.$emit('input', this.members)
},
一旦拼接,模板應該使用新數據呈現窗體數組。
<div class="form-group" v-for="(member, index) in members">
<member-form :model="member"
:index="index"
@input="update(index, $event)">
<div slot="trash">
<button type="button"
class="btn btn-default margin-top-md"
@click="remove(index)">
<i class="fa fa-trash"></i>
</button>
</div>
</member-form>
<hr v-if="separator(index)" />
</div>
而不是給你的小提琴的整個代碼,你應該嘗試得到一個[mcve],重現你的錯誤。我仍然會試一試,儘管 –
謝謝,我會盡快把它縮小一點,一會兒就可以解脫了。 – pymarco
FWIW,有一個小提琴使*世界*的差異!感謝您的支持。 – Bert