Всички компоненти
MotionHeight
Височина, която следва съдържанието: свиване, разгъване и промени на съдържанието.
УебReact NativeСъдържание и размер
Опитайте
Най-кратка употреба
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
С какво се справя вместо вас
- Анимира до действителната височина на съдържанието, измерена вместо вас.
- Следва съдържанието, когато расте или се смалява, докато е отворено.
- Започва от височината на екрана, дори по средата на промяна.
- При промяна на размера на страницата височината се нагласява веднага, вместо да изостава от новата ширина.
- Затвореното съдържание остава монтирано, но скрито и неактивно, така че състоянието му се запазва.
Подходящ за
- Отговори в FAQ.
- Група настройки, която се отваря.
- Списък, чиято обща височина трябва да се анимира (обвийте
MotionList).
Props
| Prop | Тип | По подразбиране | Описание |
|---|
open | boolean | true | false свива до нулева височина; съдържанието остава монтирано, но скрито и неактивно. |
|---|
children | ReactNode | | Съдържанието. |
|---|
as | element | 'div' | Елементът за рендериране. |
|---|
transition | Transition | spring | Крива на timing { duration, easing } или пружина { tempo: 'spring', spring }. Пружините запазват инерцията си при прекъсване. |
|---|
onMotionComplete | (open) => void | | Изпълнява се с open, след като височината спре. |
|---|
Другите props отиват към рендерирания елемент, така че className, style и обработчиците на събития работят както обикновено.