为什么更改 Pinia 状态(删除数组中的对象)后不重新渲染 Vue 组件?
P粉763748806
P粉763748806 2023-12-30 14:57:42
0
1
463

我有一个deleteHandler函数,它可以更改pinia中的用户数组。但是,在 vue 的 devtools 中,状态发生了更改,但组件没有重新渲染,但是如果我从数组中删除对象,只需更改一些值,然后 vue 会识别它并重新渲染组件,仅通过从数组中删除对象是行不通的。

const deleteHandler = (user) => {
  //doesn't renders
    useUser.users = useUser.users.filter(usr => usr.id !== user.id) 
  //it works, the component is re-rendered
  useUser.users.forEach(usr => {
    usr.points += 1
  })
}

P粉763748806
P粉763748806

全部回复(1)
P粉337385922

我认为这是某种参考问题。 请尝试这个

useUser.users = [...useUser.users.filter(usr => usr.id !== user.id)];

已安装

useUser.users = useUser.users.filter(usr => usr.id !== user.id)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板