أود أن أقترح التغيير التالي ،
و Dialog
مجموعات المكونة لل <body>
النمط كما overflow: hidden;
. وعند الرفض ، يتم رفض قاعدة النمط هذه.
ولكن إذا تمت إزالة المكون من DOM أثناء عرض مربع الحوار ، فإنه يجعل الجسم بالكامل غير قابل للتمرير بسبب النمط أعلاه.
أود أن أقترح componentWillUnmount
النحو التالي ،
componentWillUnmount: function() {
// dialog has a side-effect if this not checked
document.body.style.overflow = 'auto';
}
أو لكي تكون أكثر استقلالية ، يمكن لدالة دورة الحياة componentDidMount
تخزين الحالة الأصلية لنمط الجسم وعند إلغاء التثبيت ، يمكن استعادة هذا النمط.
+1 أواجه هذه المشكلة الآن لأنني أدير نفسي إذا كان الحوار في dom أم لا.
المشكلة داخل مكون Overlay
. تم تحديث الخاصية overflow
فقط في componentDidUpdate
. ولكن عند إزالتها ، لا تتم إعادة تعيين الخاصية أبدًا: /
+1
لا يعمل بشكل جيد مع خاصية CSS overflow-y: overlay;
:
التعليق الأكثر فائدة
لا يعمل بشكل جيد مع خاصية CSS
overflow-y: overlay;
: