為什麼更改 Pinia 狀態(刪除數組中的物件)後不重新渲染 Vue 元件?
P粉763748806
P粉763748806 2023-12-30 14:57:42
0
1
429

我有一個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)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板