【发布时间】:2018-10-07 20:12:13
【问题描述】:
我的问题和这个问题一样:
https://laracasts.com/discuss/channels/vue/vue-unshift-only-repeats-the-last-item
我有一个这样的数组:
remate: {id:1, lotes: [{id:1, nombre: lalala}, {id:2, nombre: lololo}]}
当我尝试将新项目放入 remate.lotes 按预期工作时,它将新数据推送到数组的末尾,但我需要将数据放到数组的位置 0,这就是问题所在......数组是打破并再次放入我的最后一个数组结果。
这里有一段视频,可以准确地展示发生了什么,以便更好地理解并显示代码。
我不明白问题出在哪里。
pd:我尝试将 :key 放入我的组件,但没有结果。
更新:
Page:
<loteForm :Remate="remate" key="loteFormNew"></loteForm>
<template v-for="(lote, index) in remate.lotes">
<Lote :Remate="remate" :Lote="lote" :key="'lote' + index"></Lote>
<hr>
</template>
Component loteForm:
export default {
name: 'Form',
components: {
'LoteFormClientes': LoteFormClientes,
},
props: {
Remate: {
required: true,
},
Lote: {
required: false,
},
},
data () {
return {
form: new Form(this.Lote),
}
},
methods: {
async loteForm(){
this.form['remate_id'] = this.Remate.id;
const { data } = await this.form.post('/api/form/lote');
console.log(this.Lote);
if(this.Lote === undefined) {
//work as expected
this.Remate.lotes.push(data)
//not working
this.Remate.lotes.unshift(data)
}
}
},
}
【问题讨论】:
-
请在问题中包含您尝试使用的代码
-
请添加
unshift()部分的代码 -
欢迎来到Stackoverflow,建议你把错误直接放在你的问题中,因为有些人在商业机器上,他们无法控制他们的音量,这是一个问题链接到视频,因为他们可能不知道视频或广告是否会发出声音。我还建议您引用有问题的其他站点的内容,因为这让很多人去那个站点查看问题,然后返回您的代码搜索然后返回...