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
isShowCashflowModal
adalah 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