Material-ui: [Dialog] Efek samping (properti tersembunyi body overflow)

Dibuat pada 20 Jun 2015  ·  3Komentar  ·  Sumber: mui-org/material-ui

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.

bug 🐛

Komentar yang paling membantu

Tidak berfungsi dengan baik dengan properti CSS overflow-y: overlay; :
ezgif com-video-to-gif

Semua 3 komentar

+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; :
ezgif com-video-to-gif

Apakah halaman ini membantu?
0 / 5 - 0 peringkat