MotionHighlight
डेटा से टैब, सेगमेंटेड कंट्रोल या नेविगेशन, एक हाइलाइट के साथ जो चयन तक जाती है।
वेबReact Nativeचयन और पेजिंग
आज़माएँ
उदाहरण तैयार हो रहा है…
सबसे छोटा इस्तेमाल
<MotionHighlight
items={['Overview', 'Activity', 'Settings']}
value={tab}
onValueChange={setTab}
hover
/>;यह आपके लिए क्या संभालता है
- एक हाइलाइट आइटम के बीच हिलती और आकार बदलती है; उसे
highlightClassNameसे स्टाइल करें। - आइटम
itemsसे, keygetKeyसे और लेबलrenderItemसे आते हैं। hoverउसे पॉइंटर के पीछे चलाता है और चयन पर लौटाता है।- आइटम कई पंक्तियों में लिपट सकते हैं और हाइलाइट उनके साथ चलती है।
- फ़ॉन्ट लोड होना और लेआउट बदलाव अपने-आप फिर से मापे जाते हैं।
इसके लिए इस्तेमाल करें
- पेज टैब।
- फ़िल्टर बार।
- सेटिंग फ़ॉर्म में सेगमेंटेड कंट्रोल।
Props
| Prop | टाइप | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
items | readonly T[] | —अनिवार्य | आपका डेटा ऐरे। |
value | key | null | —अनिवार्य | हाइलाइट किए आइटम की key; null हाइलाइट छिपाता है। |
onValueChange | (key, item) => void | आइटम दबाने पर key और आइटम के साथ चलता है। | |
getKey | (item) => string | number | item.id | आइटम के लिए अद्वितीय, स्थिर key लौटाता है। डिफ़ॉल्ट item.id, या स्ट्रिंग और संख्याओं के लिए आइटम ख़ुद। |
renderItem | (item, { selected, index }) => ReactNode | item.label | आइटम बनाता है; उसे मिलता है कि वह चुना गया है या नहीं। |
hover | boolean | false | आइटम पर पॉइंटर के पीछे चलें और हटने पर value पर लौटें (वेब)। |
itemAs | element | 'button' | हर आइटम का एलिमेंट। |
itemClassName | string | हर आइटम एलिमेंट की class; itemStyle उसकी inline स्टाइल तय करता है। | |
highlightClassName | string | हाइलाइट की class; highlightStyle उसकी inline स्टाइल तय करता है। | |
transition | Transition | spring | timing वक्र { duration, easing } या स्प्रिंग { tempo: 'spring', spring }। रुकने पर स्प्रिंग अपनी गति बनाए रखते हैं। |
बाक़ी props रेंडर होने वाले एलिमेंट को जाते हैं, इसलिए className, style और इवेंट हैंडलर सामान्य रूप से काम करते हैं।
वेब और React Native
हर आइटम डिफ़ॉल्ट रूप से button के रूप में रेंडर होता है (itemAs इसे बदलता है); दबाने पर onValueChange(key, item) कॉल होता है।
React Native में आइटम Pressable हैं; स्थिति नेटिव driver पर चलती है और आकार JavaScript से चलने वाले भीतरी व्यू पर।