Note: Es gibt veraltete Versionen dieser Komponente. Wechseln Sie zu einer Version, die älter als 10.0.x ist, um die entsprechende Dokumentation anzuzeigen.
Im Abschnitt Verwendung finden Sie Informationen darüber, wie und wann Sie MultipleSelect verwenden können. Auf den speziellen Registerkarten finden Sie Einzelheiten zu den von der Komponente bereitgestellten Funktionen.
Note: Die meisten Funktionen und Eigenschaften der vier verfügbaren Dropdown-Komponenten unterscheiden sich bei der Verwendung nicht. Einige Beispiele aus anderen Komponenten können auch für MultipleSelect relevant sein.
Sie können jede der Dropdown-Komponenten vollständig deaktivieren, indem Sie die Eigenschaft disabled auf true setzen. Mit der Eigenschaft disabled der Komponenten SelectOption und ComboboxOption können Sie auch nur die speziellen Optionen deaktivieren. Wenn die gesamte Komponente deaktiviert ist, hat die Eigenschaft disabled der Optionen keine Auswirkungen.
Dieses Verhalten ist bei allen Dropdown-Komponenten gleich: Wenn die value-Eigenschaft festgelegt ist, kann der Benutzer die Komponente nicht direkt ändern. Stattdessen wird sie vollständig über die Implementierung durch Entwickler verwaltet.
Dieses Beispiel gilt für alle Dropdown-Komponenten:
exportfunctionMultiSelectControlled(){ const[updatedValue, setNewValue]=useState([]); constonChange=(e, newValue)=>{ setNewValue(newValue); }; const options =[ <SelectOption value={{ id:'1', label:'Option 1', }} />, <SelectOption value={{ id:'2', label:'Option 2', }} />, <SelectOption value={{ id:'3', label:'Option 3', }} />, <SelectOption value={{ id:'4', label:'Option 4', }} />, <SelectOption value={{ id:'5', label:'Option 5', }} />, ]; return( <div> <MultipleSelect label="Choose values" secondaryLabel="This value will be passed to the list of options below" onChange={onChange}> {options} </MultipleSelect> <br/> <MultipleSelect label="Changes with the above" value={updatedValue}> {options} </MultipleSelect> </div> ); }
Mit der Eigenschaft ref und den imperativen Handlern („focus“, „blur“ und „scrollIntoView“) ist es möglich, verschiedene native Aktionen auszuführen. Ein Beispiel ist, die Komponente zu fokussieren.
Siehe folgendes Beispiel mit der Komponente Select:
In den Dropdown-Komponenten lässt sich der Validierungsprozess nicht durchführen, aber Sie können den Fehlerstatus und die anzuzeigenden Meldungen über die Eigenschaft stateMessages bearbeiten.
Die Logik der Statusmeldungen gilt für alle Dropdown-Komponenten. Nachfolgend ein Beispiel für MultipleSelect:
Das Standardverhalten der MultipleSelect-Komponente besteht darin, Options-Tags zu reduzieren, wenn sie nicht in eine einzige Zeile passen. Die Komponente wird zu einer Ansicht mit mehreren Zeilen erweitert, wenn Sie auf das Tag mit den zusammengeführten Optionen klicken. Dieses Verhalten wird über die Eigenschaft tagsAlwaysExpanded gesteuert, die standardmäßig auf false festgelegt ist.
To enable clearing the input with a single click on the icon button, set the clearable property to true. The button appears when at least one option is selected. It allows the user to unselect the selected options at once.
Note: Es gibt veraltete Versionen dieser Komponente. Wechseln Sie zu einer Version, die älter als 10.0.x ist, um die entsprechende Dokumentation anzuzeigen.
Mit der Dropdown-Komponente wird dem Benutzer eine Reihe von Optionen angezeigt, aus denen er auswählen kann. Dropdown-Menüs zeigen die Optionen nach und nach an und verhindern, dass Benutzer zu viele Informationen auf einmal sehen. Sie können auch zum Gruppieren von Informationen verwendet werden. Dropdown-Menüs werden immer durch eine Feldbeschriftung oder einen Titel unterstützt, der/die sich vor dem Steuerelement befindet.
Diese Komponente gibt es in vier Varianten: Auswahl, Mehrfachauswahl, Kombinationsfeld und Mehrfach-Kombinationsfeld.
Mit der Variante Mehrfachauswahl des Dropdown-Menüs können Benutzer mehrere Optionen aus einer Liste auswählen.
Die Liste der Auswahlmöglichkeiten ist komplex genug, dass Durchsuchen und Filtern sinnvoll sind. Verwenden Sie stattdessen das Mehrfach-Kombinationsfeld.
Es gibt eine kleine Anzahl von Optionen (5 oder weniger), aus denen Benutzer wählen können. Verwenden Sie Kontrollkästchen für Mehrfachauswahlelemente.
Wenn Sie das Dropdown-Menü zum Sortieren verwenden, sollten Sie die Optionen in der richtigen Reihenfolge anordnen. Zum Beispiel:
Von der häufigsten zu der am wenigsten häufigen Option
Von der einfachsten zur komplexesten Option
Von der am wenigsten riskanten zur riskantesten Option
Die erste Option wird oben in der Liste angezeigt.
Ordnen Sie die Liste der Optionen nicht alphabetisch an, es sei denn, dies ist für Ihren Anwendungsfall sinnvoll. Bei Listen von Ländern und anderen Problemen mit bekannten Elementen ist es oft in Ordnung, sie alphabetisch zu ordnen. Sie müssen jedoch sicher sein, dass die Benutzer den Namen ihrer Auswahl eindeutig kennen.
Positionieren Sie die Dropdown-Beschriftung außerhalb des Feldes, sodass sie immer sichtbar ist. Auf ein Dropdown-Menü ohne Beschriftung kann nicht zugegriffen werden.
Ersetzen Sie Feldbeschriftungen nicht durch Platzhaltertext im Feld. Das schadet der Gebrauchstauglichkeit und hat viele negative Folgen.
Positionieren Sie eine dauerhafte Beschriftung außerhalb des Feldes.
Verwenden Sie keinen Platzhaltertext als Ersatz für die Beschriftung.
Beschränken Sie jede Dropdown-Option auf eine Textzeile. Wenn der Text zu lang für eine Zeile ist, können Sie eine Ellipse (...) für Überlaufinhalte hinzufügen und eine browserbasierte QuickInfo hinzufügen, um die vollständige Zeichenfolge anzuzeigen. Es wird jedoch empfohlen, Kürzen nach Möglichkeit zu vermeiden.
Halten Sie Menüpunkte prägnant.
Verwenden Sie keine langen Menüelemente, die gekürzt werden müssen.
Streichen Sie Füllwörter wie „bitte“, um die Anzahl der Wörter und Zeichen zu reduzieren und das Erfassen des Inhalts zu erleichtern.
„Bitte“ wird oft überstrapaziert, daher behalten wir es uns für bestimmte Situationen vor. Zum Beispiel:
Bei einem Problem, bei dessen Lösung Guidewire den Benutzer nicht unterstützen kann.
Wenn der Benutzer aufgefordert wird, eine komplizierte Aufgabe auszuführen.
Wenn die Software die Ursache für das Problem ist.
Wenn Sie einen Benutzer einfach nur auffordern, eine Option im Dropdown-Menü auszuwählen, würden Sie dies nicht mit „bitte“ einleiten.
Eliminieren Sie Füllwörter.
Verwenden Sie „bitte“ nur, wenn die Situation es erfordert.
Fügen Sie Hilfetext hinzu, wenn er aussagekräftig ist
Verwenden Sie Hilfetext, um Kontext bereitzustellen und zu vermitteln, was ausgewählt oder wie eine Option ausgewählt werden soll. Hier sind einige Beispiele dafür, was Sie in den Hilfetext aufnehmen könnten:
Eine allgemeine Beschreibung der Dropdown-Optionen
Hinweise, die dem Benutzer bei der richtigen Auswahl helfen
Mehr Kontext dazu, warum ein Benutzer eine Auswahl treffen muss
Verwenden Sie Hilfetext nur für relevante Informationen. Vermeiden Sie die Verwendung von Hilfetext, der einfach nur die gleichen Informationen wiedergibt, die in der Beschriftung erscheinen.
Verwenden Sie für Hilfetext die übliche Groß- und Kleinschreibung. Schreiben Sie 1 bis 2 kurze, vollständige Sätze, die mit einem Punkt enden.
Verwenden Sie Hilfetext, um Informationen zum Kontext zu geben.
Verwenden Sie den Hilfetext nicht, um einfach dieselben Informationen wiederzugeben, die auch in der Beschriftung erscheinen.
Verwenden von Fehlertext zur Anleitung der Benutzer
Der Text der Fehlermeldung erklärt dem Benutzer, wie er den Fehler beheben kann. Im Falle des Dropdown-Menüs hängen Fehler oft mit etwas zusammen, das für die Inline-Validierung korrigiert werden muss. Wenn beispielsweise jemand keine Deckungen auswählt und dieses Feld ein Pflichtfeld ist, können Sie den Benutzer mithilfe von Fehlertext zu einer Lösung führen: „Wählen Sie den gewünschten Kfz-Versicherungsschutz aus.“
Verwenden Sie für Fehlertext die übliche Groß- und Kleinschreibung. Schreiben Sie 1 bis 2 kurze, vollständige Sätze, die mit einem Punkt enden.
Verwenden Sie Fehlermeldungstexte, um den Benutzer zu führen und ihm eine Lösung zu zeigen.
Schreiben Sie keine zweideutigen Fehlermeldungen und lassen Sie die Benutzer nicht im Unklaren darüber, wie ein Problem zu lösen ist.
Markieren Sie erforderliche Felder mit einem Sternchen (*). Das Sternchen steht vor der Feldbeschriftung. Benutzer können so leicht herausfinden, welche Felder erforderlich sind, indem sie nur das Zeichen ganz links in der Beschriftung scannen.
Zusätzlich zur Markierung erforderlicher Felder mit einem Sternchen wird empfohlen, klare Anweisungen am oberen Rand des Formulars einzufügen, z. B. „Alle mit einem Sternchen gekennzeichneten Felder sind Pflichtfelder“, um sicherzustellen, dass die Benutzer die Bedeutung des Sternchens verstehen.
Verwenden Sie ein Sternchen, um anzuzeigen, dass ein Feld ein Pflichtfeld ist.
Verwenden Sie kein Sternchen, um etwas zu kennzeichnen, das optional ist.
Schreiben Sie das erste Wort und Substantive groß.
Für Feldbeschriftungen, Platzhaltertext und Menüelemente wird die übliche Groß- und Kleinschreibung verwendet.
Weitere Informationen zum Implementieren der Groß- und Kleinschreibung finden Sie im UI-Textstyleguide.
Verwenden Sie die übliche Groß- und Kleinschreibung.
Die Variante Mehrfachauswahl wird ohne Wert (Standard), Platzhaltertext und vorausgefüllte Eingabe angezeigt.
Bild
Zustand
Beschreibung
Kein Wert (Standard)
Zeigt dem Benutzer an, dass kein Wert ausgewählt wurde und kein Platzhalter vorhanden ist.
Platzhalter
Zeigt dem Benutzer an, dass kein Wert ausgewählt wurde. Der Platzhalter ist ausgegraut.
Vorausgefüllte Eingabe
Zeigt dem Benutzer an, dass die Eingabe mit Daten vorausgefüllt ist.
Die Mehrfachauswahl verfügt auch über interaktive Zustände für aktiviert, fokussiert, deaktiviert, Fehler, schreibgeschützt und nur anzeigen.
Zustand
Beschreibung
Aktiviert
Zeigt dem Benutzer an, dass das Element für die Interaktion aktiviert ist.
Fokussiert
Zeigt dem Benutzer an, auf welchem UI-Element im System der Fokus liegt.
Deaktiviert
Zeigt dem Benutzer an, dass der Eingabewert aufgrund lokaler Faktoren nicht geändert werden kann. Zum Beispiel muss ein Kontrollkästchen über dem Eingabefeld aktiviert sein, um auf dieses Eingabefeld zuzugreifen. Der Benutzer kann durch Interaktion mit der Seite eine Aktion zur Aktivierung durchführen.
Fehler
Zeigt an, dass der Benutzer einen Fehler bei der Validierung gemacht hat. Der Fehlertext gibt dem Benutzer eine korrigierende Rückmeldung.
Schreibgeschützt
Zeigt dem Benutzer an, dass der Eingabewert aufgrund externer Faktoren nicht geändert werden kann. Zum Beispiel fehlender Schreibzugriff. Der Benutzer kann Maßnahmen zur Aktivierung ergreifen, indem er sich z. B. an einen Administrator wendet.
Nur Anzeige
Der Zustand „Nur Anzeige“ wird in zwei Fällen verwendet:
Ein UI-Element wird im Anzeigemodus verwendet.
Ein UI-Element wird im Bearbeitungsmodus angezeigt, ist aber nie bearbeitbar.
Dieser Zustand wurde zuvor als „Schreibgeschützt“ bezeichnet.
Die folgende Abbildung stellt die interaktiven Zustände der Mehrfachauswahl dar.
Das Dropdown-Menü wird mit der Leertaste aus- und eingeklappt. Die Benutzer navigieren mithilfe die Pfeiltasten durch die Optionen und wählen mit der Leertaste oder der Eingabetaste eine Option aus.
Die aria-labelledby stellt eine programmgesteuerte Verknüpfung zwischen dem Eingabefeld und dessen Beschriftung her. Das WAI-ARIA-Attribut aria-autocomplete='list' gibt an, dass eine Liste von Optionen angezeigt wird, aus der der Benutzer auswählen kann, das Bearbeitungsfeld jedoch fokussiert bleibt. Wenn in Storybook die Option „required“ ausgewählt wird, werden die Attribute „required“ und „aria-required="true"“ zum Eingabefeld hinzugefügt.
Das Kontrastverhältnis von Textelementen zu ihrem Hintergrund liegt über 4,5:1 gemäß den Anforderungen der WCAG 2.1 AA. Nicht-textuelle Inhalte, die eine Bedeutung vermitteln müssen (z. B. Symbole und Sichtbarkeit des Tastaturfokus), weisen ein Kontrastverhältnis von mindestens 3:1 zu den angrenzenden Farben auf. Alle Inhalte sind bis einschließlich 400 % sichtbar und funktionsfähig, ohne dass ein Scrollen in zwei Dimensionen erforderlich ist.
Diese Komponente wurde validiert, um die Zugänglichkeitsrichtlinien WCAG 2.1 AA zu erfüllen. Vom Autor des Inhalts vorgenommene Änderungen können sich jedoch auf die Konformität mit der Barrierefreiheit auswirken.
Bei Verwendung dieser Komponente in Ihren Anwendungen:
Erleichtern Sie den Benutzern das Verständnis der Inhalte und verwenden Sie keine zu langen Bezeichnungen für Optionen.
Verwenden Sie in Ihren Dropdown-Komponenten keine implizit fokussierbaren Elemente wie Schaltflächen, Kontrollkästchen und Links und keine implizit semantischen Inhalte wie Überschriften.
Note: Es gibt veraltete Versionen dieser Komponente. Wechseln Sie zu einer Version, die älter als 10.0.x ist, um die entsprechende Dokumentation anzuzeigen.
Vergewissern Sie sich, dass Sie die API-Oberfläche der Design System-Komponenten und die damit verbundenen Auswirkungen und Kompromisse verstehen. Erfahren Sie mehr in unserer Einführung zur Komponenten-API.
Warning: An die Komponente MultipleSelect können keine anderen untergeordneten Optionen als SelectOption übergeben werden. Auch wenn dies funktionieren kann, kann es zu unerwartetem Verhalten führen oder durch in künftigen Versionen eingeführte Änderungen beeinträchtigt werden.
If set to true, the tags are displayed permanently in expanded view. This overrides the default behavior where excess tags collapse into a tag containing aggregated options.
Value of the component. Takes precedence over initialValue. If this prop is passed, component works in controlled mode and its value will change only if this prop changes.
Wenn die Tags der ausgewählten Optionen den Komponentenbereich überschreiten, werden einige in einem einzelnen Tag zusammengeführt, das die Anzahl der nicht angezeigten ausgewählten Optionen angibt. Durch Klicken auf dieses Tag wird die Komponente vertikal erweitert, sodass alle Tags der ausgewählten Optionen angezeigt werden. Nachdem die Options-Tags erweitert wurden, können sie nicht mehr reduziert werden.
Um dieses Verhalten zu überschreiben und alle Options-Tags dauerhaft in einer erweiterten Ansicht anzuzeigen, legen Sie die Eigenschaft tagsAlwaysExpanded auf true fest. Zum Vergleich der beiden Verhalten siehe diese Beispiele.
Alle Dropdown-bezogenen Komponenten definieren die Liste der verfügbaren Optionen über die Eigenschaft children des Typs ReactNode. Sie können nur die folgenden Unterkomponenten als untergeordnete Komponenten verwenden:
SelectOption verwendet bei Select und MultipleSelect
ComboboxOption verwendet bei Combobox und MultipleCombobox
Warning:
SelectOption und ComboboxOption dürfen nur im Kontext ihrer jeweiligen „übergeordneten“ Komponente verwendet werden. Auch wenn sie für sich allein funktionieren, wird diese Funktion nicht unterstützt.
Bei den Komponenten Select und MultipleSelect ist nur vorgesehen, dass SelectOption-Komponenten als untergeordnete Komponenten unterstützt werden. Auch wenn sie möglicherweise andere Typen oder HTML-Elemente anzeigen oder verarbeiten können, wird dies nicht unterstützt.
Bei den Komponenten Combobox und MultipleCombobox ist nur vorgesehen, dass ComboboxOption-Komponenten als untergeordnete Komponenten unterstützt werden. Auch wenn sie möglicherweise andere Typen oder HTML-Elemente anzeigen oder verarbeiten können, wird dies nicht unterstützt.
Jegliche Verwendung dieser Komponenten außerhalb des unterstützten Geltungsbereichs fällt nicht unter die Verpflichtung der Non-Breaking Changes, da eine solche Verwendung nicht als Bestandteil des Komponentenvertrags gilt. Diese Verwendungen können zu unerwartetem Verhalten führen oder durch in künftigen Versionen eingeführte Änderungen beeinträchtigt werden.
Die Jutro-Eingaben haben imperative Handler als Mechanismus implementiert, um Zugang zu einigen gängigen nativen Funktionen zu bieten, die für Sie nützlich sein könnten. Die folgenden Funktionen sind verfügbar:
Fokus setzen ermöglicht es, den Fokus des Benutzers auf eine bestimmte Komponente zu setzen.
Weichzeichnen ermöglicht es, den Fokus von der Komponente zu entfernen.
Zur Komponente scrollen ermöglicht es, den Benutzer zu einem bestimmten Bereich der Seite zu führen.
Diese Funktionen werden über die ref-Eigenschaft bereitgestellt, die sie wie folgt verfügbar macht:
Obwohl einige Jutro-Komponenten ergänzende Funktionen oder eine Hilfsfunktion zur Erleichterung des Validierungsprozesses bereitstellen, liegt es in Ihrer Verantwortung als Entwickler, die Validierung von Benutzereingaben (mit oder ohne Verwendung der ergänzenden Hilfsfunktionen) durchzuführen und zu entscheiden, welche Fehlermeldungen angezeigt werden sollen.
Jutro-Komponenten verhalten sich in Abhängigkeit von der Implementierung des Entwicklers.
Wann werden Fehlermeldungen angezeigt?
Fehlermeldungen werden nur angezeigt, wenn Sie sie über die Eigenschaft stateMessages an die Komponente übergeben. Diese Eigenschaft empfängt ein Objekt mit dem folgenden Inhalt:
Die Komponente zeigt alle bereitgestellten Fehlermeldungen in der gleichen Reihenfolge wie im Array an.
Wann erfolgt die Validierung?
Dies ist Ihre Entscheidung als Entwickler. Da die Komponenten nicht festlegen, wann die Validierung durchgeführt wird oder wann der Fehler angezeigt werden muss, müssen Sie die Logik für die Behandlung entsprechend den Projektanforderungen implementieren, z. B. während der Benutzer den Inhalt bearbeitet, wenn die Komponente den Fokus verliert und bei der Formularübermittlung.
Die Eigenschaft tagsAlwaysExpanded wurde hinzugefügt, die, wenn sie auf true festgelegt ist, das Standardverhalten für reduzierte Options-Tags überschreibt.
Added the clearable property, which, when set to true, allows the user to clear the selected options with a single click on the icon button.
Neue Komponente @jutro/components/MultipleSelect eingeführt.
Die frühere Komponente DropdownSelectField wurde verworfen und in das @jutro/legacy-Paket verschoben. Um die entsprechende Dokumentation anzuzeigen, wechseln Sie zu einer Version der Dokumentation, die älter als 10.0 ist.