Material-ui: [Диалог] Побочные эффекты (скрытое свойство переполнения тела)

Созданный на 20 июн. 2015  ·  3Комментарии  ·  Источник: mui-org/material-ui

Я хотел бы предложить следующее изменение,

Компонент Dialog устанавливает стиль <body> как overflow: hidden; . И при отклонении это правило стиля отменяется.

Но если компонент удаляется из DOM во время отображения Dialog, он делает все тело не прокручиваемым из-за вышеуказанного стиля.

Я бы предложил componentWillUnmount следующим образом:

  componentWillUnmount: function() {
    // dialog has a side-effect if this not checked
    document.body.style.overflow = 'auto';
  }

или, чтобы быть более независимым, функция жизненного цикла componentDidMount может сохранять исходное состояние стиля тела и при отключении этот стиль может быть восстановлен.

bug 🐛

Самый полезный комментарий

Не работает со свойством overflow-y: overlay; CSS:
ezgif com-video-to-gif

Все 3 Комментарий

+1 У меня сейчас эта проблема, потому что я сам управляю, находится ли диалог в домене или нет.

Проблема находится внутри компонента Overlay . Свойство overflow обновляется только в componentDidUpdate . Но когда он удаляется, свойство никогда не сбрасывается: /

+1

Не работает со свойством overflow-y: overlay; CSS:
ezgif com-video-to-gif

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

revskill10 picture revskill10  ·  3Комментарии

pola88 picture pola88  ·  3Комментарии

ericraffin picture ericraffin  ·  3Комментарии

sys13 picture sys13  ·  3Комментарии

ghost picture ghost  ·  3Комментарии