Saya ingin menyarankan perubahan berikut,
Komponen Dialog
menetapkan gaya <body>
sebagai overflow: hidden;
. Dan saat diberhentikan, aturan gaya ini diberhentikan.
Tetapi jika komponen dihapus dari DOM saat Dialog ditampilkan, itu membuat seluruh tubuh tidak dapat digulir karena gaya di atas.
Saya akan menyarankan componentWillUnmount
sebagai berikut,
componentWillUnmount: function() {
// dialog has a side-effect if this not checked
document.body.style.overflow = 'auto';
}
atau untuk lebih mandiri, fungsi siklus hidup componentDidMount
dapat menyimpan status asli dari gaya tubuh dan saat dilepas, gaya tersebut dapat dipulihkan.
+1 Saya mengalami masalah ini sekarang karena saya mengelola sendiri apakah Dialog ada di dom atau tidak.
Masalahnya ada di dalam komponen Overlay
. Properti overflow
hanya diperbarui di componentDidUpdate
. Tetapi ketika dihapus, properti itu tidak pernah disetel ulang :/
+1
Tidak berfungsi dengan baik dengan properti CSS overflow-y: overlay;
:
Komentar yang paling membantu
Tidak berfungsi dengan baik dengan properti CSS
overflow-y: overlay;
: