рдЬрдм Menu
рдЦреБрд▓рддрд╛ рд╣реИ, рддреЛ рдкреГрд╖реНрда рдХрд╛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкреГрд╖реНрда рд▓реЗрдЖрдЙрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рджрд╛рдИрдВ рдУрд░ рд╕рдм рдХреБрдЫ рдХреВрджрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рджреГрд╢реНрдп рдмрдЧ рд╣реИред
рдпрд╛ рддреЛ рдП) рдЗрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдареАрдХ рдХрд░реЗрдВ, рдпрд╛ рдмреА) рдбреЙрдХреНрд╕ рдореЗрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдФрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ:
https://material-ui-next.com/demos/menus/
рдХреВрджрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ absolute, left: 0, right: 0
, рдЙрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛ text-align: center
рдпрд╛ display: flex; flex-direction: column; align-items: center;
| рдЯреЗрдХ | рд╕рдВрд╕реНрдХрд░рдг |
| -------------- | --------- |
| рд╕рд╛рдордЧреНрд░реА- рдпреВрдЖрдИ | 1.0.0-рдмреАрдЯрд╛ .реи реп |
рдпреЗ рд╕рднреА рдмрдВрдж рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдЙрдирдореЗрдВ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛:
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рджрд╛рдИрдВ рдУрд░ рд╕рдм рдХреБрдЫ рдХреВрджрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рджреГрд╢реНрдп рдмрдЧ рд╣реИред
@lorensr рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рдЬрдирди рдЙрджрд╛рд╣рд░рдг рд╣реИ? рдпрд╣ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рд╕реАрдорд╛ рд╣реИред рд╣рдо рдкреВрд░реНрдг рддреИрдирд╛рдд рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ .mui-fixed
рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо рд╣реИред
рд╣рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!
FYI рдХрд░реЗрдВ, рдПрдХ рдФрд░ рдЪреАрдЬрд╝ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓реА рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ .mui-fixed
рдлрд┐рдХреНрд╕ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХрд╛ рдирд┐рд╢реНрдЪрд┐рдд рддрддреНрд╡ рднреА рд╣реЛ
box-sizing: content-box;
рдзрдиреНрдпрд╡рд╛рдж, рд╡рд░реНрдЧ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореБрдЭреЗ content-box
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рддрддреНрд╡ border-box
ред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЬрдм рд╕реНрдХреНрд░реЙрд▓ рдмрд╛рд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореЗрд░реЗ right: 0
рддрддреНрд╡ рдХреЗ рдЕрдВрджрд░ рдХрд╛ рдмреНрд▓реЙрдХ рд╣реИрдбрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рджрд╛рд╣рд┐рдиреЗ рдХрд┐рдирд╛рд░реЗ рддрдХ рдирд╣реАрдВ рдлреИрд▓рддрд╛ рд╣реИред
right: -20px
рдмрджрд▓рдХрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдм css рд╣реИ:
main {
position: absolute;
box-sizing: border-box;
left: 0;
right: -20px;
overflow-x: hidden;
}
рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЗрдВрджреНрд░рд┐рдд рдмрдЪреНрдЪреЗ рдЕрдм рдХреЗрдВрджреНрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ 10 рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдУрд╡рд░рдлреНрд▓реЛ рдЫрд┐рдкрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореБрдИ-рдлрд┐рдХреНрд╕реНрдб рд╕реАрдПрд╕рдПрд╕ рд╡рд░реНрдЧ рдХреЛ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рддрддреНрд╡реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкреГрд╖реНрда рдХреЗ рдиреАрдЪреЗ рдХреБрд░рдХреБрд░реА рдЪреИрдЯ рд╡рд┐рдЬреЗрдЯред рд╢рд╛рдпрдж рдЗрдВрдЯрд░рдХреЙрдо рд╡рд┐рдЬреЗрдЯ рдХреЗ рд╕рд╛рде рднреА рд╣реЛрддрд╛ рд╣реИред
рдХрд┐рд╕реА рдФрд░ рдХреЛ рднреА рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ?
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рди рдореБрджреНрджрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрдВрдЯреЗрдирд░ рдирд┐рд░рдкреЗрдХреНрд╖ рдирд╣реАрдВ рдерд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рддрдп рдерд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдореЗрд░реА рдЧрджреНрджреА рдореЗрдВ !important
рдЬреБрдбрд╝ рд░рд╣реЗ рд╣реИрдВ:
padding: 0 !important;
рдЕрдЧрд░ рдпрд╣ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ 100% рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХреЛ <body>
рдЯреИрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ
`` `рд╕реАрдПрд╕рдПрд╕
рддрди {
рд╕реНрдерд┐рддрд┐: рдирд┐рд░рдкреЗрдХреНрд╖;
рдмрд╛рдПрдВ: -17 рдкреАрдПрдХреНрд╕;
рджрд╛рдИрдВ рдУрд░: -17 рдкреАрдПрдХреНрд╕;
рдЧрджреНрджреА-рд╢реАрд░реНрд╖: 0;
рдкреИрдбрд┐рдВрдЧ-рд░рд╛рдЗрдЯ: 17 рдкреАрдПрдХреНрд╕;
рдкреИрдбрд┐рдВрдЧ-рд▓реЗрдлреНрдЯ: 17 рдкреАрдПрдХреНрд╕;
рдЧрджреНрджреА-рддрд▓: 0px;
рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣-рдПрдХреНрд╕: рдЫрд┐рдкрд╛ рд╣реБрдЖ;
рдУрд╡рд░рдлреНрд▓реЛ- y: рдСрдЯреЛ! рдорд╣рддреНрд╡рдкреВрд░реНрдг // рдпрджрд┐ рдЖрдк рд╕реНрдХреНрд░реЙрд▓ рдмрд╛рд░ рдХреЛ рдЧрд╛рдпрдм рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВ
}
`` ``
рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ:
рдХреБрдЫ рд╡рд┐рднрд┐рдиреНрди рд╕реАрдПрд╕рдПрд╕ рдУрд╡рд░рд░рд╛рдЗрдбреНрд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬреЛ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдЧрд▓рдд рд▓рдЧреЗ, рдЬреИрд╕реЗ @chrisshaddad рдХреА, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдкреВрд░реЗ рдРрдк рдкрд░ overflow-y: scroll
рдордЬрдмреВрд░ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╢рд┐рдлреНрдЯ рд╣реЛ рд░рд╣реЗ рдереЗред рд╣рдорд╛рд░реЗ рдкреГрд╖реНрдареЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣рдордиреЗ y- рдЕрдХреНрд╖ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдРрдк-рд╡рд╛рдЗрдб рдХреЛ рд╢рд┐рдлреНрдЯрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдерд╛ - рдХреБрдЫ рдХреЛ y- рдЕрдХреНрд╖ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдХреБрдЫ рдХреЛ рдирд╣реАрдВред
рдЕрддрд┐рд░рд┐рдХреНрдд body
рдпрд╛ рдЗрдирд▓рд╛рдЗрди рд╕реНрдЯрд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЕрдкрдиреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд AppBar / Header рдХреЗ рдиреАрдЪреЗ overflow-y: scroll
рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ рд╢рд┐рдлрд╝реНрдЯрд┐рдВрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рджрд╛рдмрд╣рд╛рд░ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреВрд░реА рд╡рд┐рдВрдбреЛ рдХреЗ рдмрдЬрд╛рдп, рдореЛрдбрд▓ / рдореЗрдиреВ рд╕реЗ рдХреЛрдИ рд╢рд┐рдлреНрдЯрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ рдФрд░ body
ред
рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдбреЛрдо рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
<div>
<Header />
<div className="pageContent">
<div className="page">
<Route exact path="/pathToPage"> component={PageContent} />
</div>
</div>
</div>
рдФрд░ рд╕реАрдПрд╕рдПрд╕ (рд╣рдорд╛рд░реЗ рд╣реЗрдбрд░ рдХреА рдКрдВрдЪрд╛рдИ 45px рд╣реИ):
.pageContent {
position: absolute;
top: 45px;
left: 0;
right: 0;
bottom: 0;
}
.pageContent .page {
height: 100%;
overflow-y: scroll;
}
рдирдорд╕реНрддреЗ,
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЕрдкрдиреА рдЦреБрд╢реА рдирд╣реАрдВ рдкрд╛ рд╕рдХрддрд╛ рд╣реВрдВред
рдореИрдВрдиреЗ рдЬреЛ рд╕рдордЭрд╛, рдЙрд╕рдореЗрдВ рд╕реЗ Modal
рдХреЛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрдиреНрдирдд рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Modal
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ Modal
рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдПрдХ рдЫреЛрдЯреА рд╕рд╛рдордЧреНрд░реА рд╣реИред
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдИ рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдФрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдХрд░, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ Modal
, Dialog
, Menu
рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реЙрд▓ - Menu
рдФрд░ рдЕрдиреНрдп рдкреЙрдкрдЕрдк рддрддреНрд╡ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдмреВрд▓рд┐рдпрди рд╕рдВрдкрддреНрддрд┐ рдЭреВрдареА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ рдШрдЯрдХ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ ScrollBar
рдШрдЯрдХ рдХреЛ рдПрдХрдореБрд╢реНрдд рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдореИрдВ рдкрд╣рд▓реЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдЕрд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
FWIW рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ body { overflow-y: scroll }
рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИред
@avdd рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рд╢рд░реАрд░ рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдФрд░ рдореЛрдбрд▓ рдореЗрдВ рдирд╣реАрдВред
@rememberYou modal рдирд┐рдореНрди рд╕реНрддрд░ рдХрд╛ рдЖрджрд┐рдо рд╣реИ, рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕рдВрд╡рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ: https://material-ui.com/demos/dialogs/#scrolling -long-contentред
@rememberYou ModalManager рдиреЗ overflow:hidden
рд╕реАрдзреЗ рдХрдВрдЯреЗрдирд░ рддрддреНрд╡ (рдирд┐рдХрд╛рдп) рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрдм рдореЛрдбрд▓ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореЛрдбрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рд╣рд╛рдБ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
@oliviertassinari рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
@ рдореЗрд░реЗ рдорд╛рдлреА рдорд╛рдБрдЧрдиреЗ рдкрд░, рдореИрдВрдиреЗ ModalManager
рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреАред
@lorensr рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ?
@oliviertassinari рдПрдХ рдЖрдЦрд┐рд░реА рдмрд╛рдд, рдореИрдВрдиреЗ Dialog
рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рдореИрдВ рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдбрд┐рдЬрд╛рдЗрди рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ Modals
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИред
рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ Modal
(рд▓реЙрдЧ рдЗрди) рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рджреВрд╕рд░реЗ Modal
(рд╕рд╛рдЗрдирдЕрдк) рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИ рдЬреЛ рд╕реНрд╡рдпрдВ рд▓реЙрдЧрд┐рди рдкрд░ рд▓реМрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреНрдпрд╛ рдореБрдЭреЗ ModalManager
рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП Modal
? рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╡рд┐рд╖рдп рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
@nathanmark рд╣рд╛рдБ, рдореЙрдбрд▓ рдШрдЯрдХ рдбреЙрдХреНрд╕ рдкреГрд╖реНрдареЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ рдЕрднреА рднреА .mui-fixed
рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
3.5.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ - рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбрд╛рдпрд▓реЙрдЧ рдмрд╛рдИрдВ рдУрд░ рд╢рд┐рдлреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ Reproducible https://material-ui.com/demos/dialogs/ - рд╕рд░рд▓ рдбрд╛рдпрд▓реЙрдЧ рдбреЗрдореЛ рдЦреЛрд▓реЗрдВ рдФрд░ рдмрдВрдж рдХрд░реЗрдВред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж, рдпрд╣ v3.3 рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖред
@ stephen099 рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИред
рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рд╣реЗрдбрд░ рдкрд░ (рдирд╡реАрдирддрдо рдореБрдИ рдХреЗ рд╕рд╛рде), mui-fixed
рд╡рд░реНрдЧ рдирд╛рдореЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕реНрдЯрд╛рдЗрд▓ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╣реЗрдбрд░ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдХреЗ, рдХреЛрдИ mui-fixed
рдирд┐рдпрдо рд▓реЛрдбред
рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ, рдХрд┐ рдпрд╣ 'рдПрдб рдкреИрдбрд┐рдВрдЧ' рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣реА рд╣реИ, рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдХреНрдпреЛрдВ рд╣реИ? рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ Menu
рдШрдЯрдХ рд╕реЗ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред
рдореИрдВ !important
рд╕рд╛рде css рд╕реНрдЯрд╛рдЗрд▓ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рд╣реЛрдиреЗ рд╕реЗ рдХреИрд╕реЗ рд░реЛрдХреВрдБ? рдзрдиреНрдпрд╡рд╛рдж
@vajnorcan mui-fixed
рд╡рд░реНрдЧ рдирд╛рдо рдореЛрдбрд▓ рдШрдЯрдХ (рдореЗрдиреВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╢рд░реАрд░ рддрддреНрд╡ рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХреЛ рд▓реЙрдХ рдХрд░рдиреЗ рдкрд░ рддрддреНрд╡ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЬрд╛рдПрдЧреАред рд╣рдо рдЕрд╕реНрдерд╛рдпреА рдкреИрдбрд┐рдВрдЧ-рд░рд╛рдЗрдЯ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдЪреМрдбрд╝рд╛рдИ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк CodeSandbox рдкрд░ рдиреНрдпреВрдирддрдо рдкреНрд░рдЬрдирди рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдзрдиреНрдпрд╡рд╛рджред
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЖрдк рдХрд╣рд╛рдБ рд░рдЦреЗрдВред рдПрдХ рдореЗрдиреВ рдЦреЛрд▓рдиреЗ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред
@ capsule5 рдЖрдкрдХреЛ рдЗрд╕реЗ рдЙрд╕ рддрддреНрд╡ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЗ рдореЗрдиреВ рдореЗрдиреНрдпреВ рдкрд░ рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг "рдХреВрджрддрд╛ рд╣реИ" (рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рджрд╛рдИрдВ рдУрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рддрддреНрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдФрд░ рдЗрд╕рдХрд╛ рдЧрджреНрджреА рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреА рд╡реИрд╢реНрд╡рд┐рдХ рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ:
.mui-fixed {
/*
* make sure that added right padding
* actually pushes contents to the left
*/
box-sizing: content-box;
}
рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХреЛрдИ рдкреНрд░рдЬрдирди рдирд╣реАрдВ рд╣реИред рдореИрдВ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
@cvara рд╣рдо # 9275 рдореЗрдВ рдЗрд╕рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рд╛, рдХреНрдпрд╛ рдпрд╣ рд╣рд▓ рд╣реИ? рдореИрдВрдиреЗ v0.9 рд╕реЗ v4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдЬрдм рдореИрдВ рдореЛрдбрд▓ рдЦреЛрд▓рддрд╛ рд╣реВрдВ рддреЛ рдореЗрд░реА рд╕рд╛рдордЧреНрд░реА рдмрд╛рдИрдВ рдУрд░ рдХреВрдж рдЬрд╛рддреА рд╣реИ ( padding-right: 17px
рдорд┐рд▓ рд░рд╣реА рд╣реИ)? рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ?
рдмрд╛рдж рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ overflow-y: scroll !important;
рдореБрдЭреЗ рднреА рдЗрд╕ рдЬрдореНрдкрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП padding-right: 0px !important;
рдЬреЛрдбрд╝рдирд╛ рдерд╛ред
рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рд╡рд╣ рдореЗрд░реЗ рдШрдЯрдХ рдореЗрдВ disableScrollLock={ true }
рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛ :)
@ рддреЛрд╢реАрдХ рдХреМрди рд╕рд╛ рдШрдЯрдХ?
@wongjiahau рдореЛрдбрд▓ рдШрдЯрдХ v4 +
рдЖрдк рдореЗрдиреНрдпреВ рдореЗрдВ рднреА рдбрд┐рдлреЙрд▓реНрдЯScrollLock рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдкреНрд░рдЬрдирди рд╣реИред рдЬрдм рд╕реЗ рдореИрдВ рдореЗрдиреВ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВ, рддреГрддреАрдп рдкрдХреНрд╖ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдЕрдХреНрд╖рдо рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдпрд╣ рддрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
@archfz рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рдЬрдирди рд╣реИ?
рдореИрдВ рдЗрд╕реЗ Select
рдШрдЯрдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдЬрдм рднреА Select
рдбреНрд░реЙрдкрдбрд╛рдЙрди рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ overflow: hidden, padding-right: 15px
рдХреЛ рдореЗрд░реЗ рдРрдк рдХреЗ рдореБрдЦреНрдп body
рдЯреИрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдкрдЫрд╛рдбрд╝рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ
@WholemealDrop #
@oliviertassinari рдЕрд╣рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдЦреЛрдЬ рдХреМрд╢рд▓
@oliviertassinari I рдиреЗ рдХреЛрд░ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдмреА рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЧрд▓рдд рдЧрдгрдирд╛ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ: flex + minHeight: 100vh + body рдХреЛрдИ рдкреИрдбрд┐рдВрдЧ рдФрд░ рдорд╛рд░реНрдЬрд┐рди рд╕рдВрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдХреЛрдб рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
import React, {FunctionComponent, SyntheticEvent, useState} from 'react';
import {IconButton, Menu, MenuItem, Tooltip} from "@material-ui/core";
import TranslateIcon from "@material-ui/icons/Translate";
import MuiAppBar from "@material-ui/core/AppBar";
import Toolbar from "@material-ui/core/Toolbar";
const AdminAppContainer: FunctionComponent = () => {
const handleMenu = (event: SyntheticEvent) => setAnchorEl(event.currentTarget);
const [anchorEl, setAnchorEl] = useState<Element | null>(null);
const open = Boolean(anchorEl);
const handleClose = () => setAnchorEl(null);
const body = document.getElementsByTagName('body')[0];
body.style.margin = "0";
body.style.padding = "0";
return (
<div style={{ display: 'flex', minHeight: '100vh'}}>
<MuiAppBar color="secondary" >
<Toolbar>
<div style={{flex: 1}}></div>
<div>
<Tooltip title='asd'>
<IconButton onClick={handleMenu}><TranslateIcon /></IconButton>
</Tooltip>
<Menu anchorEl={anchorEl} open={open} onClose={handleClose}>
<MenuItem key={'test'} onClick={handleClose}>Test</MenuItem>
</Menu>
</div>
</Toolbar>
</MuiAppBar>
</div>
)
};
@archfz рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдПрдХ рдХреЛрдбреИрдВрдбрдмреЙрдХреНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ? (рдЖрдк рдбреЙрдХреНрд╕ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред)
@archfz рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдЫреВрдЯ рдЧрдпрд╛ред
рдореИрдВ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ? рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рд▓реЗрдЖрдЙрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред
@archfz рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдЫреВрдЯ рдЧрдпрд╛ред
рдореИрдВ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ? рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рд▓реЗрдЖрдЙрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред
рдЬрдм рдЖрдк рд╢реАрд░реНрд╖ рджрд╛рдИрдВ рдУрд░ рд╡рд░реНрдг рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЗ рдЦреБрд▓рдиреЗ рдкрд░ рдмрд╛рдИрдВ рдУрд░ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдореЗрдиреВ рдЖрдЗрдЯрдо рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рджрд╛рдИрдВ рдУрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рдХреБрдЫ рдирдпрд╛ рд▓рдЧрддрд╛ рд╣реИред
@archfz рдареАрдХ рд╣реИ, рдпрд╣ рдЯреВрд▓рдЯрд┐рдк рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдШрд░реНрд╖ рд╣реИред рдЖрдЗрдП рдЗрд╕реЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░реЗрдВред
@oliviertassinari рдЦреИрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджрд╛ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕рд╛рдордЧреНрд░реА UI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рдореБрджреНрджрд╛ рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдПрдХ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ рд╣реИ https://github.com/mui-org/material-ui/issues/19203
рд╕рдорд╛рдзрд╛рди @Toshiuk рджреНрд╡рд╛рд░рд╛ рдкреБрди:
рдореЗрдиреВ, рд╕реНрдЯрд╛рдЗрд▓рдореЗрдиреБ:
disableScrollLock={ true }
рдЪреБрдирддреЗ рд╣реИрдВ:
MenuProps={{ disableScrollLock: true }}
рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЦреЛрдЬрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ! :-)
рдЬрдм рдореИрдВ рдореЗрдиреВ рдЦреЛрд▓рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЯреВрд▓рдмрд╛рд░ рдХреЗ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдЕрджреГрд╢реНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдпрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
https://codesandbox.io/s/material-demo-nj80l
рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдареАрдХ рд╣реИ?
рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реАрдПрд╕рдПрд╕ рдЬреЛрдбрд╝реЗрдВ
рд╢рд░реАрд░ {рдкреИрдбрд┐рдВрдЧ-рд░рд╛рдЗрдЯ: 0px; рдорд╣рддреНрд╡рдкреВрд░реНрдг; }
рд╣реИрд▓реЛ, рдореЗрд░реЗ рдРрдк рдореЗрдВ рдореИрдВ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдореИрдВ рдЕрдкрдиреЗ рдШрдЯрдХ <Menu>
рдФрд░ рдЕрдкрдиреЗ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ disableScrollLock={true} disablePortal={true} id="custom"
рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ
#custom {
.MuiPopover-paper,
.MuiPopover-paper {
max-height: inherit !important;
}
}
рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдЯреНрд░рд┐рдХреНрд╕ рд╕реЗ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рдореИрдВрдиреЗ рдбрд╛рдпрд▓реЙрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрднреА рднреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреГрд╖реНрда рдХреА рд╕реНрдХреНрд░реЙрд▓ рдХреЛ рд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ / рдЗрд╕рдХреЗ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВред
рдЙрдкрд╛рдп:
рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рд╕рдмрд╕реЗ рдмрд╛рд╣рд░реА рдХрдВрдЯреЗрдирд░ div рдпрд╛ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░реА div (рдХреЛрдИ рднреА рдХрдВрдЯреЗрдирд░ рдЬреЛ рдЖрдкрдХреЗ рдкреВрд░реЗ рдРрдк рдХреЛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИ) рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЙрд╕рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗрдЯ рдХрд░реЗрдВ:
width: calc(100vw - 1px);
1px
34px
рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрдо рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдРрд╕рд╛ рдХрд░ рджреЗрдЧрд╛ рддрд╛рдХрд┐ рдПрдХ рдбрд╛рдпрд▓реЙрдЧ рдЦреЛрд▓рдиреЗ рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреГрд╖реНрда рдХреА рд╕реНрдХреНрд░реЙрд▓ рдкрдЯреНрдЯреА рдЫрд┐рдк рдЬрд╛рдП, рдпрджрд┐ рдореМрдЬреВрдж рд╣реЛ, рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдЕрднреА рднреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реИ рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдЖрдкрдХреЗ рд╕рдВрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИред
рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
рдЖрдк рд╕рд┐рд░реНрдл рд╢рд╛рдирджрд╛рд░ рд╣реИрдВ, рдзрдиреНрдпрд╡рд╛рдж
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рд╡рд╣ рдореЗрд░реЗ рдШрдЯрдХ рдореЗрдВ
disableScrollLock={ true }
рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛ :)