Всички компоненти
MotionReorder
Пренареждане на списък или мрежа с влачене, с поддръжка на клавиатура.
УебReact NativeСписъци
Опитайте
Най-кратка употреба
Playlist.jsx<MotionReorder
items={tracks}
onItemsChange={setTracks}
layout="list"
renderItem={(track) => track.title}
/>;
С какво се справя вместо вас
- Другите елементи се отместват, докато влачите (
reorder="live"), или когато пуснете (reorder="drop"). - Оформления като списък и мрежа с
columns и gap. - Преместване с клавиатура в уеб и действия за достъпност в React Native.
- Контролиран чрез
items и onItemsChange или неконтролиран чрез defaultItems.
Подходящ за
- Плейлист.
- Беклог по приоритет.
- Мрежа от снимки.
Props
| Prop | Тип | По подразбиране | Описание |
|---|
items | readonly T[] | | Елементите, когато вие управлявате реда. |
|---|
defaultItems | readonly T[] | [] | Начални елементи, когато компонентът пази реда. |
|---|
onItemsChange | (items, { reason, key }) => void | | Изпълнява се с новия ред и източника на промяната: влачене, пускане или клавиатура. |
|---|
getKey | (item) => string | number | item | Връща уникален ключ за елемент. По подразбиране — самия елемент. |
|---|
renderItem | (item, { index, dragging }) => ReactNode | item.label | Рисува елемент; получава индекса му и дали се влачи. |
|---|
reorder | 'live' | 'drop' | 'live' | live мести другите елементи по време на влачене; drop чака пускането. |
|---|
layout | 'list' | 'grid' | 'grid' | list или grid. |
|---|
columns | number | 3 | Колони в мрежа. |
|---|
gap | number | 12 | Разстояние между елементите в пиксели. |
|---|
disabled | boolean | false | Изключва влаченето. |
|---|
duration | number | 260 | Милисекунди, за които елементите се отместват. |
|---|
itemClassName | string | | Клас за елемента на всяка позиция; itemStyle задава вградения му стил. |
|---|
Другите props отиват към рендерирания елемент, така че className, style и обработчиците на събития работят както обикновено.