React MUI — согласованная высота содержимого вкладки

Я так понимаю, что в идеале должно быть вверху страницы. Однако предположим, что они расположены в середине страницы. При переходе с вкладки с большим количеством содержимого на вкладку с небольшим содержимым прокручиваемая область исчезает. Есть ли способ сохранить пустое пространство?

https://codesandbox.io/s/labtabs-material-demo-forked-y39i2g?file=/demo.tsx

Вот пример песочницы кода.

Шаг 1 прокрутите вниз до вкладок.

Шаг 2 прокрутите содержимое вкладки 1 вниз (оставьте вкладки видимыми)

Шаг 3. Нажмите вкладку 2 (мышь больше не зависает над вкладками, потому что содержимое вертикальной прокрутки исчезает)

Обновлено: я могу изменить минимальную высоту корневого элемента div на то, что мне нужно жестко закодировать. Я чувствую, что это взломано, хотя и не динамично для самой высокой вкладки

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете установить minHeightstyle на tab2, а tab3 на высоту tab1, используя useRef

const tabRef = React.useRef<HTMLDivElement>(null)
const [tabHeight, setTabHeight] = React.useState(0);
React.useEffect(() => {
    setTabHeight(tabRef.current.clientHeight)
}, [tabRef]);


<TabPanel value = "1" ref = {tabRef}></TabPanel>
<TabPanel value = "2" sx = {{ minHeight: tabHeight }}></TabPanel>
<TabPanel value = "3" sx = {{ minHeight: tabHeight }}></TabPanel>

Демо:
https://codesandbox.io/s/labtabs-material-demo-forked-40kpwc?file=/demo.tsx

Другие вопросы по теме