【发布时间】:2020-01-04 10:03:59
【问题描述】:
我用一些用户数据填充了 Vuetify 数据表。当我从数据表中删除用户时,我会像这样更新用户数组:
handleDelete(user) {
confirm("Are you sure you want to delete this user?") &&
axios
.delete("user/" + user.id)
.then(response => {
// Delete user from user array
this.users = this.users.filter(function(el) {
return el.id != user.id;
});
})
},
当我注册一个新用户时,数组也会更新,但现在是这样的:
handleRegister(user) {
axios
.post("user/register", user)
.then(response => {
// Update User array
this.users.push(response.data.user);
})
},
这一切都很好,除非我更新用户。在我的函数中,我在用户数组中搜索用户对象并将其替换为更新的对象。但不知何故,数据表没有用新值更新。更新函数如下所示:
handleUpdate(user) {
const id = user.id;
axios
.put("user/" + id, user)
.then(response => {
// TODO: Update User array
let foundIndex = this.users.findIndex(
x => x.id == response.data.user.id
);
this.users[foundIndex] = response.data.user;
})
},
当我 console.log this.users[foundIndex] 和 response.data.user 的值时,它显示了正确的值。但不知何故,数据表似乎没有更新。
【问题讨论】:
标签: javascript arrays vuetify.js