Mengapa komponen Vue tidak diberikan semula selepas menukar keadaan Pinia (mengalih keluar objek dalam tatasusunan)?
P粉763748806
P粉763748806 2023-12-30 14:57:42
0
1
453

Saya mempunyai fungsi deleteHandler yang menukar tatasusunan pengguna dalam pinia. Walau bagaimanapun, dalam devtools vue, keadaan berubah tetapi komponen tidak diberikan semula, tetapi jika saya mengalih keluar objek daripada tatasusunan, hanya tukar beberapa nilai, kemudian vue mengenalinya dan memaparkan semula komponen, hanya dengan mengeluarkannya daripada Objek tatasusunan tidak akan berfungsi.

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

membalas semua(1)
P粉337385922

Saya rasa ini adalah sejenis isu rujukan. Sila cuba ini

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

Dipasang

useUser.users = useUser.users.filter(usr => usr.id !== user.id)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan