Tüm bileşenler

MotionReorder

Bir listeyi ya da ızgarayı sürükleyerek yeniden sıralayın; klavye desteğiyle.

WebReact NativeListeler

Deneyin

Örnek hazırlanıyor…

En kısa kullanım

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

Sizin yerinize hallettikleri

  • Diğer öğeler siz sürüklerken (reorder="live") ya da bıraktığınızda (reorder="drop") yol verir.
  • columns ve gap ile liste ve ızgara düzenleri.
  • Web'de klavyeyle taşıma, React Native'de erişilebilirlik eylemleri.
  • items ve onItemsChange ile denetimli ya da defaultItems ile denetimsiz.

Şunlar için kullanın

  • Bir çalma listesi.
  • Önceliklendirilmiş bir iş listesi.
  • Bir fotoğraf ızgarası.

Props

PropTipVarsayılanAçıklama
itemsreadonly T[]Sırayı siz denetlediğinizde öğeler.
defaultItemsreadonly T[][]Sırayı bileşen tuttuğunda başlangıç öğeleri.
onItemsChange(items, { reason, key }) => voidYeni sırayla ve bunun sürüklemeden, bırakmadan ya da klavyeden gelip gelmediğiyle çalışır.
getKey(item) => string | numberitemBir öğe için benzersiz bir key döndürür. Varsayılan öğenin kendisidir.
renderItem(item, { index, dragging }) => ReactNodeitem.labelBir öğeyi çizer; index'ini ve sürüklenip sürüklenmediğini alır.
reorder'live' | 'drop''live'live sürüklerken diğer öğeleri hareket ettirir; drop bırakmayı bekler.
layout'list' | 'grid''grid'list ya da grid.
columnsnumber3Izgaradaki sütunlar.
gapnumber12Öğeler arasındaki boşluk, piksel.
disabledbooleanfalseSürüklemeyi kapatır.
durationnumber260Yol veren öğeler için milisaniye.
itemClassNamestringHer öğe elemanı için class; itemStyle satır içi stilini ayarlar.

Diğer props render edilen öğeye gider; böylece className, style ve olay işleyiciler her zamanki gibi çalışır.

Web ve React Native

onItemsChange(items, { reason }) bir değişikliğin sürüklemeden, bırakmadan ya da klavyeden gelip gelmediğini söyler.

React Native'de aynı props geçerlidir ve yeniden sıralama erişilebilirlik eylemleri olarak da sunulur.

Ara

Belgelerde aramak için yazın.