सभी कंपोनेंट
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 | आइटम के लिए अद्वितीय key लौटाता है। डिफ़ॉल्ट रूप से आइटम ख़ुद। |
|---|
renderItem | (item, { index, dragging }) => ReactNode | item.label | आइटम बनाता है; उसे अपना index और खींचा जा रहा है या नहीं, मिलता है। |
|---|
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 | | हर आइटम एलिमेंट की class; itemStyle उसकी inline स्टाइल तय करता है। |
|---|
बाक़ी props रेंडर होने वाले एलिमेंट को जाते हैं, इसलिए className, style और इवेंट हैंडलर सामान्य रूप से काम करते हैं।