MotionHighlight
Καρτέλες, τμηματικοί έλεγχοι ή πλοήγηση από δεδομένα, με μία επισήμανση που ταξιδεύει στην επιλογή.
WebReact NativeΕπιλογή και σελιδοποίηση
Δοκιμάστε το
Προετοιμασία παραδείγματος…
Η πιο σύντομη χρήση
<MotionHighlight
items={['Overview', 'Activity', 'Settings']}
value={tab}
onValueChange={setTab}
hover
/>;Τι αναλαμβάνει για εσάς
- Μία επισήμανση μετακινείται και αλλάζει μέγεθος ανάμεσα στα στοιχεία· δώστε της στυλ με το
highlightClassName. - Τα στοιχεία έρχονται από το
items, τα keys από τοgetKeyκαι οι ετικέτες από το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 όταν φύγει (web). |
itemAs | element | 'button' | Το στοιχείο για κάθε στοιχείο λίστας. |
itemClassName | string | Κλάση για κάθε στοιχείο λίστας· το itemStyle ορίζει το inline στυλ του. | |
highlightClassName | string | Κλάση για την επισήμανση· το highlightStyle ορίζει το inline στυλ της. | |
transition | Transition | spring | Μια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται. |
Τα υπόλοιπα props πηγαίνουν στο στοιχείο που αποδίδεται, οπότε τα className, style και οι χειριστές συμβάντων λειτουργούν κανονικά.
Web και React Native
Κάθε στοιχείο αποδίδεται από προεπιλογή ως button (το itemAs το αλλάζει)· το πάτημά του καλεί το onValueChange(key, item).
Στο React Native τα στοιχεία είναι Pressable· η θέση τρέχει στον native driver και το μέγεθος σε μια εμφωλευμένη προβολή που οδηγείται από JavaScript.
Χρησιμοποιείται σε αυτά τα παραδείγματα
- ΕισερχόμεναΚαρτέλες φίλτρων με ζωντανούς μετρητές, γραμμές που απομακρύνονται με σάρωση και μια λίστα που κλείνει το κενό.
MotionHighlightMotionListMotionSwipeMotionNumber - Ροή φωτογραφιώνΣαρώστε φωτογραφίες, πηδήξτε με μικρογραφίες, ανοίξτε οποιαδήποτε φωτογραφία σε πλήρη οθόνη και τραβήξτε προς τα πάνω τις λεπτομέρειές της.
MotionPagerMotionHighlightMotionZoomMotionSheet