MotionList
Sąrašas iš duomenų, animuojantis tik tai, kas pasikeitė.
ŽiniatinklisReact NativeSąrašai
Išbandykite
Ruošiamas pavyzdys…
Trumpiausias naudojimas
<MotionList as="ul" items={todos} renderItem={(todo) => <TodoRow todo={todo} />} />;Ką jis sutvarko už jus
- Nauji elementai įeina ribota kaskada, o nepaliesti lieka vietoje.
- Pašalinti elementai palieka srautą ir animuojami išeidami savo vietoje, o likusieji įslenka į tarpą.
- Pertvarkyti elementai nuslysta į naujas vietas.
- Kito pakeitimo pertraukti judesiai išlaiko greitį.
present={false}animuoja visų elementų išėjimą, oplayKeyiš naujo groja įėjimą.
Naudokite jį
- Užduočių sąrašas.
- Filtruoti paieškos rezultatai.
- Pirkinių krepšelis.
Props
| Prop | Tipas | Numatytoji | Aprašymas |
|---|---|---|---|
items | readonly T[] | —privaloma | Jūsų duomenų masyvas. |
getKey | (item) => string | number | item.id | Grąžina unikalų, stabilų elemento key. Pagal numatymą item.id arba pats elementas eilutėms ir skaičiams. |
renderItem | (item, index) => ReactNode | item.label | Nupiešia elementą. |
as | element | 'div' | Atvaizduojamas elementas. |
itemAs | element | 'li' | 'div' | Kiekvieno elemento apvalkalas. |
itemClassName | string | Klasė kiekvienam elementui; itemStyle nustato jo vidinį stilių. | |
effect | 'rise' | 'fade' | 'scale' | 'slide' | 'rise' | Kaip elementai įeina ir išeina. |
distance | number | 16 | rise ir slide atstumas pikseliais. |
stagger | number | 40 | Milisekundės tarp įeinančių elementų. |
order | 'forward' | 'reverse' | 'forward' | Kaskados kryptis. |
present | boolean | true | false animuoja visų elementų išėjimą išlaikydamas išdėstymą; true juos grąžina. |
initial | boolean | true | Groti įėjimą, kai sąrašas prijungiamas. |
playKey | string | number | Jį pakeitus įėjimas grojamas iš naujo. | |
transition | Transition | spring | Perėjimas įeinantiems ir išeinantiems elementams. |
layoutTransition | Transition | spring | Perėjimas elementams, slystantiems į naujas vietas. |
Kiti props perduodami atvaizduojamam elementui, todėl className, style ir įvykių apdorojimo funkcijos veikia kaip įprastai.
Žiniatinklis ir React Native
Kiekvienas elementas gauna apgaubiantį elementą (li viduje ul ar ol, kitaip div; itemAs tai keičia), kurio stilius nustatomas su itemClassName.
key turi būti unikalūs. Apgaubkite sąrašą MotionHeight, kad būtų animuojamas ir jo bendras aukštis.
Naudojama šiuose pavyzdžiuose
- Pokalbio atsakymasSusilankstantys pasiūlymai, pastoviu tempu srautu ateinantis atsakymas ir besikeičianti būsenos eilutė.
MotionStreamMotionListMotionSwapMotionHeight - Atsiskaitymo suvestinėKiekiai, eilučių sumos ir bendra suma sukasi keičiantis krepšeliui; kupono pranešimas įeina ir išeina; mokėjimui reikia sąmoningo palaikymo.
MotionListMotionNumberMotionPresenceMotionHold - Pašto dėžutėFiltrų skirtukai su gyvais skaičiais, braukiamos eilutės ir sąrašas, uždarantis tarpą.
MotionHighlightMotionListMotionSwipeMotionNumber