Material-ui: [Dialog] Nebenwirkungen (versteckte Eigenschaft für Körperüberlauf)

Erstellt am 20. Juni 2015  ·  3Kommentare  ·  Quelle: mui-org/material-ui

Ich möchte folgende Änderung vorschlagen,

Die Komponente Dialog legt den Stil <body> als overflow: hidden; . Und bei Entlassung wird diese Stilregel verworfen.

Wenn die Komponente jedoch aus dem DOM entfernt wird, während Dialog angezeigt wurde, wird der gesamte Körper aufgrund des obigen Stils nicht scrollbar.

Ich würde ein componentWillUnmount wie folgt vorschlagen:

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

oder um unabhängiger zu sein, kann die Lebenszyklusfunktion componentDidMount den ursprünglichen Zustand des Karosseriestils speichern und beim Aushängen kann dieser Stil wiederhergestellt werden.

bug 🐛

Hilfreichster Kommentar

Funktioniert nicht gut mit overflow-y: overlay; CSS-Eigenschaft:
ezgif com-video-to-gif

Alle 3 Kommentare

+1 Ich habe dieses Problem gerade, weil ich mich selbst verwalte, ob der Dialog im Dom ist oder nicht.

Das Problem liegt in der Overlay Komponente. Die Eigenschaft overflow wird nur in componentDidUpdate aktualisiert. Aber wenn es entfernt wird, wird die Eigenschaft daher nie zurückgesetzt :/

+1

Funktioniert nicht gut mit overflow-y: overlay; CSS-Eigenschaft:
ezgif com-video-to-gif

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

joewalker picture joewalker  ·  3Kommentare

revskill10 picture revskill10  ·  3Kommentare

newoga picture newoga  ·  3Kommentare

anthony-dandrea picture anthony-dandrea  ·  3Kommentare

chris-hinds picture chris-hinds  ·  3Kommentare