在页面加载时,我从服务器收到一组对象,这些对象使用 v-for
循环显示。
该应用程序是实时的,因此当另一个用户更新数组中的对象时,我会收到一个包含更新对象的推送事件(这是包含更新模型的 Laravel 5.4 广播事件)。
然后如何在数组中找到该对象以将其替换为更新的版本?
示例组件 JS
export default{
data(){
return {
items: []
}
},
mounted(){
...some code to get the array from the server
this.items = server.response;
},
created() {
Echo.private('channel-name)
.listen('event', (event) => {
**What do I do here with the received model to update the items array?**
});
});
}
}
最佳答案
我认为您的 item
实体中应该有一些 ID,然后只需查找具有相同 ID 的项目并替换它即可。可以进行替换,例如使用map:
...
//assuming you have ID inside your item entity
//and your new "replacement" model is in event.item
.listen('event', (event) => {
var newItem = event.item;
this.items = this.items.map(item => {
return item.ID === newItem.ID ? newItem : item;
});
});
...
关于laravel - 当索引未知时更新特定数组条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42645428/