🧬 Συγκεντρώστε τα συστατικά
Ένας cascader είναι ένας τύπος στοιχείου εισόδου που επιτρέπει στους χρήστες να επιλέξουν ιεραρχικά δεδομένα, όπως μια κατηγορία ή υποκατηγορία από ένα αναπτυσσόμενο μενού. Όταν ένας χρήστης επιλέγει μια επιλογή από το αναπτυσσόμενο μενού, ο Cascader θα ενημερώσει αυτόματα για να εμφανίσει τις σχετικές υποκατηγορίες ή επιλογές σε ένα ένθετο αναπτυσσόμενο μενού.
Για παράδειγμα, αν έχετε ένα στοιχείο εισόδου cascader για την επιλογή μιας κατηγορίας προϊόντων, το πρώτο αναπτυσσόμενο μενού μπορεί να δείξει όλες τις διαθέσιμες κατηγορίες, όπως “Ηλεκτρονικά”, “Ρούχα”, και “Βιβλία”. Όταν ένας χρήστης επιλέξει “Electronic,” ο Cascader θα ενημερώσει για να εμφανίσει τις υποκατηγορίες ηλεκτρονικών, όπως “Τηλέφωνα”, “Laptops” και “Tablets”. Αυτό επιτρέπει στους χρήστες να περιηγηθείτε γρήγορα και εύκολα μέσα από ιεραρχικά δεδομένα και να επιλέξετε την επιλογή που χρειάζονται.
Διαθέσιμες ιδιότητες Cascader. Η JavaScript μπορεί να γραφτεί για να διαβάσει ή να τροποποιήσει πληροφορίες σχετικά με τα στοιχεία.
Ιδιότητες | Περιγραφή |
---|---|
Πηγή Δεδομένων | Κάθε επιλογή πρέπει να είναι μορφή JSON και να περιέχει δύο κλειδιά, τιμή και ετικέτα. Χρησιμοποιώντας πίνακες, μπορείτε να δημιουργήσετε επιλογές στο ίδιο επίπεδο. Και οι επιλογές για παιδιά μπορούν να δημιουργηθούν με τη χρήση “παιδιά” χαρακτηριστικό. |
Προεπιλεγμένη τιμή | Η αρχική τιμή του εξαρτήματος. Μπορείτε να αλλάξετε δυναμικά την αρχική τιμή πληκτρολογώντας JavaScript στην {{}}. |
Υποκατάστατο | Η τιμή θα εμφανίζεται όταν το πεδίο εισαγωγής είναι κενό. |
Ετικέτα | Το όνομα του πεδίου που εμφανίζεται στο χρήστη |
Λεζάντα | Μια λεζάντα που χρησιμοποιείται για να περιγράψει λεπτομερώς το πεδίο |
Κρυφή ετικέτα | Ορίστε αν θα εμφανίζεται η ετικέτα |
Θέση | Ορίστε τη θέση της ετικέτας σε σχέση με το στοιχείο |
Ευθυγράμμιση | Ορισμός της στοίχισης (στοίχιση αριστερά ή δεξιά) της ετικέτας |
Width | Όταν η ετικέτα βρίσκεται στην αριστερή πλευρά του εξαρτήματος, ορίστε το λόγο πλάτους της ετικέτας. |
Χειριστής Συμβάντων | Ερωτήματα ενεργοποίησης, έλεγχος εφαρμογών, ή κλήση άλλων API σε απόκριση σε συμβάντα εφαρμογής. |
Απενεργοποιημένο | Ελέγξτε την κατάσταση του αν το στοιχείο είναι απενεργοποιημένο. Το στοιχείο δεν μπορεί να τροποποιηθεί ή να εστιαστεί όταν είναι απενεργοποιημένο. |
Μόνο Για Ανάγνωση | Ελέγξτε την κατάσταση του αν το στοιχείο είναι μόνο για ανάγνωση. Ένα στοιχείο μόνο για ανάγνωση μπορεί να επιλεγεί και να εστιασθεί, αλλά δεν μπορεί να τροποποιηθεί. |
Εμφάνιση κουμπιού καθαρισμού | ελέγχει αν εμφανίζεται ή όχι ένα κουμπί εκκαθάρισης στο πεδίο εισόδου |
Μέθοδος επέκτασης | Ορίστε πώς ο cascader επεκτείνεται (κάνοντας κλικ ή τοποθετώντας το ποντίκι) |
Υπόδειξη | Οι χρήστες μπορούν να εισάγουν εδώ την υπόδειξη συστατικού. Η υπόδειξη θα εμφανίζεται όταν εστιάζεται. Υποστηρίζεται μορφή Markdown |
Hidden | Δυναμική ρύθμιση της απόκρυψης του συστατικού. Μπορείτε να αλλάξετε την κρυφή κατάσταση μέσω της δυναμικής δυαδικής τιμής. |
Μπορείτε να χρησιμοποιήσετε άλλα στοιχεία για τον έλεγχο της εφαρμογής. Υποστηρίζουμε τις ακόλουθες δύο μεθόδους:
Για να ορίσετε την επιλεγμένη επιλογή, για παράδειγμα, {{”value1”}}
Ιδιότητες | Περιγραφή |
---|---|
Τιμή | Input value |
Για να καθαρίσετε την τιμή του επιλεγμένου στοιχείου
Παράδειγμα Χρήσης:
Το στοιχείο Cascader υποστηρίζει την ακρόαση της εκδήλωσης onChange
άλλων στοιχείων χρησιμοποιώντας το ενσωματωμένο σύστημα γεγονότων. Ρυθμίστε το ακολουθώντας τα παρακάτω βήματα:
onChange
event of a Radio Group component, θα προσθέσεις μια σκανδάλη συμβάντος σε αυτό το στοιχείο της ομάδας ραδιοφώνου.Control component
εν ενεργεία, επιλέξτε το στοιχείο Cascader
που θέλετε να ενημερώσετε ως στόχο της εκδήλωσης.SetValue
και επιλέξτε την κατάλληλη τιμή για το στοιχείο Cascader. Αυτή θα είναι η τιμή που θα έχει και θα ενημερώνει το στοιχείο Cascader όταν ενεργοποιείται το γεγονός.Μόλις ρυθμίσετε την ενεργοποίηση του γεγονότος, το στοιχείο εισόδου Cascader θα ενημερώνεται αυτόματα κάθε φορά που το συμβάν του onChange
ενεργοποιείται στα άλλα στοιχεία. Αυτό σας επιτρέπει να δημιουργήσετε δυναμικές διεπαφές που ανταποκρίνονται στην είσοδο του χρήστη σε πραγματικό χρόνο, καθιστώντας ευκολότερη την πλοήγηση και την αλληλεπίδραση των χρηστών με την εφαρμογή σας.
Γεγονός | Περιγραφή |
---|---|
Αλλαγή | Όταν ένας χρήστης αλλάζει την επιλεγμένη τιμή επιλογής |
Εστίαση | Όταν ένας χρήστης μετακινεί τον δείκτη του ποντικιού στο στοιχείο του cascader |
Blur | Όταν ένας χρήστης τελειώσει επιλέγοντας επιλογές και τερματίζοντας από την εστίαση στο στοιχείο cascader |
Το στοιχείο έχει κάποια κοινώς χρησιμοποιούμενα δεδομένα, τα οποία μπορούν να κληθούν μέσω του {{componentName.propertyName}}
στην εφαρμογή.
Όνομα ιδιότητας | Περιγραφή |
---|---|
dataSourceMode | ο τρόπος της πηγής δεδομένων σε cascader (προεπιλεγμένη δυναμική) |
Εμφάνιση Ονόματος | το όνομα αυτού του συστατικού (δηλαδή ο καταρροής) |
επέκταση ενεργοποίησης | συμβάντα ενεργοποίησης (κλικ) |
τιμή | Επιλεγμένη τιμή |
ετικέτα | τιμή ετικέτας |
labelΣτοίχιση | ευθυγράμμιση της ετικέτας cascader (αριστερά ή δεξιά) |
ετικέταΘέση | θέση της ετικέτας cascader (αριστερά ή δεξιά) |
ετικέταΠλάτος | ο ακέραιος αριθμός που αντιπροσωπεύει το πλάτος της ετικέτας |
placeholder | τιμή κράτησης θέσης |
Παράδειγμα: {{cascader1.value[0]}
Στη συνέχεια, θα δείξουμε πώς να χαρτογραφήσουμε τα δεδομένα από την πηγή δεδομένων σε επιλογές σε cascader δυναμικά.
Ας δημιουργήσουμε έναν πίνακα στην Supabase που ονομάζεται project
, καθώς και έναν υποπίνακα που ονομάζεται θεραπευτής
και οι οποίοι είναι ευθυγραμμισμένοι με project_id
.
Στη συνέχεια, μπορούμε να δημιουργήσουμε μια νέα δράση για Supabase από τη λίστα ενεργειών, λίστα όλων των δεδομένων στο έργο και ονομάζεται supabasedb1
SELECT [project.id](http://project.id/) as project_id, [therapist.name](http://therapist.name/) as therapist_name from therapist join project on therapist.project_id = [project.id](http://project.id/)
Στη συνέχεια, μπορούμε enable
το transformer
τμήμα κάτω από την ενότητα επιλογή. Μέσα στην περιοχή κειμένου, μπορούμε να συλλάβουμε μόνο τις τιμές και τις ετικέτες που χρειαζόμαστε από τα δεδομένα και να τα μεταμορφώσουμε σε επιλογές φιλικές προς τον καταρράκτη χρησιμοποιώντας JavaScript.
const transformedArray = data.reduce((acc, current) => ◆
const existing = acc.find(item) => item.value ==== τρέχων. roject_id);
εάν (έξω) {
const θεραπευτής = { value: current.therapist_id, label: current.therapist_name };
υπάρχει. hildren.push(therapist);
} else {
const project = value. value: current. roject_id, label: current.project_name, children: [] };
const therapist = { value: current.therapist_id, label: current.therapist_name };
project.children. ush(therapist);
acc.push(project);
}
return acc;
}, []);
return transformedArray;
Η τελική ενέργεια θα πρέπει να εμφανίζεται η ίδια με την
Πατήστε Save
και Run
για να ενεργοποιήσετε αυτήν την ενέργεια.
Αφού σύρουμε ένα στοιχείο cascader στον καμβά, μπορούμε να κάνουμε μονό κλικ για να ρυθμίσουμε την πηγή δεδομένων στο {{supabasedb1.data}}
Προαιρετικά: Εδώ ορίζουμε μια προεπιλεγμένη τιμή του {{['a', '1']}}
για τις αντίστοιχες ετικέτες {{['Psychotherapy'], ['James']}}
.