Yes! Di kode ini:
Kelihatannya intensinya benar, tapi ada satu hal krusial yang sering jadi jebakan di Vue:
⚠️ Kesalahan: watch(() => isShowCashflowModal, ...)
Kamu men-watch fungsi yang mengembalikan fungsi, bukan nilainya.
Kalau isShowCashflowModal itu ref (misalnya const isShowCashflowModal = ref(false)), maka kamu harus me-watch nilai aktualnya pakai:
✅ Penjelasan
-
watch(() => isShowCashflowModal)berarti kamu me-watch fungsinya, bukan nilainya. -
Kalau
isShowCashflowModaladalah ref, Vue udah cukup pintar buat detect perubahannya langsung denganwatch(isShowCashflowModal, ...).
🔍 Kalau dia props?
Kalau isShowCashflowModal itu dari props, misal:
Maka kamu harus tetap bungkus dengan getter agar reactive:
🔧 Tips: Gunakan flush: 'post' kalau perlu tunggu DOM update
Coba pastikan apakah isShowCashflowModal itu:
-
ref→ pakai langsungwatch(isShowCashflowModal, ...) -
props→ pakaiwatch(() => props.isShowCashflowModal, ...)
Kalau kamu masih bingung, kasih tahu aku konteks isShowCashflowModal itu ref atau prop ya.

0 Komentar