Material-ui: 【ダイアログ】副作用(ボディオーバーフロー隠しプロパティ)

作成日 2015年06月20日  ·  3コメント  ·  ソース: mui-org/material-ui

次の変更を提案したいと思います、

Dialogコンポーネントは、 <body>スタイルをoverflow: hidden;ます。 そして、却下すると、このスタイルルールは却下されます。

ただし、Dialogの表示中にコンポーネントがDOMから削除されると、上記のスタイルのために全身がスクロールできなくなります。

次のように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 評価