Visi komponentai

MotionReorder

Vilkite, kad pertvarkytumėte sąrašą ar tinklelį, su klaviatūros palaikymu.

ŽiniatinklisReact NativeSąrašai

Išbandykite

Ruošiamas pavyzdys…

Trumpiausias naudojimas

Playlist.jsx
<MotionReorder
  items={tracks}
  onItemsChange={setTracks}
  layout="list"
  renderItem={(track) => track.title}
/>;

Ką jis sutvarko už jus

  • Kiti elementai pasitraukia, kol velkate (reorder="live") arba kai paleidžiate (reorder="drop").
  • Sąrašo ir tinklelio išdėstymai su columns ir gap.
  • Perkėlimai klaviatūra žiniatinklyje ir prieinamumo veiksmai React Native.
  • Valdomas su items ir onItemsChange arba nevaldomas su defaultItems.

Naudokite jį

  • Grojaraštis.
  • Pagal prioritetą surikiuotas darbų sąrašas.
  • Nuotraukų tinklelis.

Props

PropTipasNumatytojiAprašymas
itemsreadonly T[]Elementai, kai tvarką valdote jūs.
defaultItemsreadonly T[][]Pradiniai elementai, kai tvarką laiko komponentas.
onItemsChange(items, { reason, key }) => voidVykdomas su nauja tvarka ir nurodo, ar ji atėjo iš vilkimo, paleidimo ar klaviatūros.
getKey(item) => string | numberitemGrąžina unikalų elemento key. Pagal numatymą pats elementas.
renderItem(item, { index, dragging }) => ReactNodeitem.labelNupiešia elementą; gauna jo indeksą ir ar jis velkamas.
reorder'live' | 'drop''live'live vilkimo metu judina kitus elementus; drop laukia paleidimo.
layout'list' | 'grid''grid'list arba grid.
columnsnumber3Stulpeliai tinklelyje.
gapnumber12Tarpas tarp elementų pikseliais.
disabledbooleanfalseIšjungia vilkimą.
durationnumber260Milisekundės pasitraukiantiems elementams.
itemClassNamestringKlasė kiekvienam elementui; itemStyle nustato jo vidinį stilių.

Kiti props perduodami atvaizduojamam elementui, todėl className, style ir įvykių apdorojimo funkcijos veikia kaip įprastai.

Žiniatinklis ir React Native

onItemsChange(items, { reason }) pasako, ar pakeitimas atėjo iš vilkimo, paleidimo ar klaviatūros.

React Native galioja tie patys props, o pertvarkymas siūlomas ir kaip prieinamumo veiksmai.

Paieška

Rašykite, kad ieškotumėte dokumentacijoje.