Maison  >  Questions et réponses  >  le corps du texte

Pourquoi le composant Vue n'est-il pas restitué après avoir modifié l'état de Pinia (suppression de l'objet dans le tableau) ?

J'ai une fonction deleteHandler qui modifie le tableau des utilisateurs dans pinia. Cependant, dans les outils de développement de vue, l'état change mais le composant n'est pas restitué, mais si je supprime l'objet du tableau, je modifie simplement quelques valeurs, puis vue le reconnaît et restitue le composant, simplement en le supprimant du Les objets de tableau ne fonctionneront pas.

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粉763748806P粉763748806293 Il y a quelques jours389

répondre à tous(1)je répondrai

  • P粉337385922

    P粉3373859222023-12-31 00:26:29

    Je pense que c'est une sorte de problème de référence. S'il vous plaît, essayez ceci

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

    Installé

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

    répondre
    0
  • Annulerrépondre