Verwendung
Überblick
Datumsauswahl ist eine Komponente, die aus zwei Hauptelementen besteht: einem Datumsauswahlfeld und einem Dropdown-Kalender. Die Kalenderkomponente stellt ein Datum visuell dar und bietet eine einheitliche Navigation durch Tages-, Monats- und Jahresansichten. Mit diesem Inline-Kalender können Benutzer Datumsangaben in einer Ansicht durchsuchen und auswählen.
Zu verwenden
- Auswahl eines in der Nähe des aktuellen Datums liegenden Datums.
- Auswahl eines Datums und Speichern in einem Eingabefeld.
- Durchsuchen verschiedener Datumsansichten, wie Tage, Monate und Jahre.
- Zur visuellen Darstellung des Datums.
Nicht zu verwenden
- Auswahl eines in der fernen Vergangenheit oder Zukunft liegenden Datums. Verwenden Sie in diesem Fall die ](./simple-date-field.mdx)Datumseingabe[.
- Auswahl eines Datumsbereichs. Verwenden Sie in diesem Fall den Datumsbereich.
- Wenn Sie nur den Monat und das Jahr ohne einen bestimmten Tag auswählen möchten. Verwenden Sie in diesem Fall die Monatsauswahl.
- Wenn Sie nur das Jahr auswählen möchten, ohne den Monat oder Tag anzugeben. Verwenden Sie in diesem Fall die Jahresauswahl.
- Auswahl einer bestimmten Uhrzeit. Verwenden Sie in diesem Fall die Zeitauswahl.
Siehe auch
Aufbau

Die Datumsauswahl-Komponente besteht aus den folgenden Elementen:
- Datumsauswahlfeld: Ein Eingabefeld, in das der Benutzer den Tag, den Monat und das Jahr manuell eingeben kann.
- Kalendersymbol: Eine Symbolschaltfläche, die den Dropdown-Kalender auslöst, wenn darauf geklickt wird.
- Schaltfläche „Vorheriger Monat“: Ein Navigationssteuerelement zum Anzeigen und Auswählen von Daten aus dem Vormonat.
- Monatschaltfläche: Ein Steuerelement zum Auswählen eines anderen Monats.
- Jahresschaltfläche: Ein Steuerelement zum Auswählen eines anderen Jahres.
- Schaltfläche „Nächster Monat“: Ein Navigationssteuerelement zum Anzeigen und Auswählen von Daten aus dem Folgemonat.
- Aktuelles Datum: Das aktuelle Datum. Darunter wird eine Linie angezeigt, um es optisch hervorzuheben.
- Ausgewähltes Datum: Das vom Benutzer ausgewählte und in der Datumsauswahl hervorgehobene Datum.
- Schaltfläche „Heute“: Eine Schaltfläche, über die das Datumsauswahlfeld automatisch mit dem aktuellen Tag, Monat und Jahr ausgefüllt wird, wenn darauf geklickt wird.
Das Format des Datums, das in der Datumsauswahl angezeigt wird, hängt vom Gebietsschema des Benutzers ab. Das bedeutet, dass das Datumsformat je nach Standort und Spracheinstellungen des Benutzers variiert.
In den USA wird beispielsweise in der Regel das Datumsformat MM/DD/YYYY verwendet, in vielen europäischen Ländern hingegen das Format DD/MM/YYYY.
Das Datumsformat wird als Platzhalter in der Datumsauswahl angezeigt, um dem Benutzer die Datumseingabe zu erleichtern. Dadurch wird gewährleistet, dass das Format während des gesamten Eingabevorgangs sichtbar bleibt.
Ein Platzhalter im Eingabefeld führt den Benutzer während der Eingabe zum erwarteten Datumsformat.
Inhalt
Allgemeine Richtlinien fürs Schreiben
- Verwenden Sie die Großschreibung des ersten Worts und von Substantiven für alle Aspekte der Gestaltung von Guidewire-Produktschnittstellen. Schreiben Sie nicht alles groß.
- Verwenden Sie in den meisten Situationen Verben im Präsens und im Aktiv.
- Verwenden Sie gebräuchliche Abkürzungen, um Ihrem Text einen natürlichen und informellen Ton zu verleihen.
- Verwenden Sie eine einfache Sprache. Vermeiden Sie unnötigen Jargon und komplexe Sprache.
- Halten Sie Wörter und Sätze kurz.
Eine Beschriftung einfügen
Beschriften Sie die Datumsauswahl mit einem aussagekräftigen, beschreibenden Text. In dieser Beschriftung müssen der Zweck und das spezifische ausgewählte Datum angegeben sein.
Positionieren Sie eine dauerhafte Beschriftung außerhalb des Felds.
Verwenden Sie keinen Platzhaltertext als Ersatz für die Beschriftung.
Hilfetext hinzufügen, wenn es sinnvoll ist
Verwenden Sie Hilfetext, um Kontext bereitzustellen und zu vermitteln, welches Datum ausgewählt werden soll. Hier einige Beispiele dafür, welche Informationen Sie angeben können:
- Hinweise, die den Benutzer bei der Auswahl des entsprechenden Datums unterstützen
- Mehr Kontext, warum der Benutzer ein bestimmtes Datum auswählen muss
Verwenden Sie Hilfetext nur für relevante Informationen. Vermeiden Sie es, die gleichen Angaben wie in der Beschriftung zu wiederholen. Schreiben Sie den Hilfetext in 1 bis 2 kurzen, vollständigen Sätzen, die mit einem Punkt enden. Verwenden Sie die übliche Groß- und Kleinschreibung.
Verwenden Sie Hilfetext, um Informationen zum Kontext zu geben.
Wiederholen Sie im Hilfetext nicht einfach die Informationen, die bereits in der Beschriftung stehen.
Verhalten
Zustände
Die Datumsauswahl-Komponente verhält sich wie ein Eingabefeld, mit den gleichen interaktiven Zuständen.
Interaktionen
Maus
Die Benutzer können den Tag, den Monat und das Jahr manuell im Datumsauswahlfeld eingeben oder auf das Kalendersymbol klicken, um den Tag, den Monat und das Jahr in einer Dropdown-Liste auszuwählen.

Tastatur
Die Datumsauswahl wird mit Spacebar erweitert und reduziert. Benutzer navigieren mit den Pfeiltasten durch die Optionen und wählen mit der Spacebar- oder Enter-Taste eine Option aus.
Wenn der Benutzer mit der Tabulatortaste in das Eingabefeld für die Monatsauswahl wechselt, wird ein Kalender-Widget angezeigt. Das aktuelle Datum wird hervorgehoben und Nur-Tastatur-Benutzer können das Datum hier manuell eingeben. Durch Drücken der Nach-Unten-Taste können Benutzer den Tastaturfokus auch auf das Widget legen, wenn es erweitert ist. Navigieren Sie mit den Pfeiltasten durch den Kalender. Die Schaltflächen „Zurück“, „Monat“, „Jahr“ und „Weiter“ können mit der Tab-Taste den Fokus erhalten, wenn das Widget geöffnet ist.
Screenreader
Wenn Benutzer mit der Tabulatortaste in das Eingabefeld für die Datumsauswahl wechseln, werden sie über den vorausgefüllten Datumswert informiert und darüber, dass dieser Wert aktuell aktiviert ist. In diesem Eingabefeld kann das Datum manuell eingegeben werden. Solange der Fokus auf dem vorausgefüllten Datum liegt, ist auch ein Kalender-Widget verfügbar. Benutzer können durch Drücken der Nach-Unten-Taste den Fokus auch auf das Widget verschieben. Die Navigation durch den Kalenderbereich des Widgets erfolgt über die Pfeiltasten. Der Wert, der aktuell den Fokus hat, wird von Screenreadern über das WAI-ARIA-Attribut aria-label ausgegeben. Die Schaltflächen „Zurück“, „Monat“, „Jahr“ und „Weiter“ können mit der Tab-Taste den Fokus erhalten, wenn das Widget geöffnet ist. Die React-Datumsauswahl aktiviert derzeit nicht die Tastaturnavigation zum Link „Heute“.
In der Datumsauswahl-Komponente können Benutzer die Einfügemarke (den blinkenden Textcursor) zwischen verschiedenen Abschnitten des Datums (MM/TT/JJJJ) bewegen. Benutzer können jedoch keine einzelnen Ziffern innerhalb eines Abschnitts löschen. Durch Löschen einer Ziffer wird der gesamte Abschnitt (MM, TT oder JJJJ) gelöscht, sodass Benutzer ihn erneut eingeben müssen. Dieses Verhalten ist bei allen Datumskomponenten einheitlich, bei denen die Eingabe in der Eingabemaske formatiert wird, während ein Benutzer die Eingabe vornimmt.
Barrierefreiheit
Diese Komponente wurde validiert, um die Richtlinien für Barrierefreiheit WCAG 2.2 AA in der Standardbasiskonfiguration zu erfüllen. Dazu wird u. a. Folgendes sichergestellt:
- Das Kontrastverhältnis von Textelementen zu ihrem Hintergrund liegt über 4,5:1.
- Nicht-textuelle Inhalte, die eine Bedeutung vermitteln sollen (z. B. Symbole und Fokusanzeigen), weisen ein Kontrastverhältnis von mindestens 3:1 zu den angrenzenden Farben auf.
- Das jeweilige Element kann sowohl über eine Tastatur als auch über eine Maus bedient werden.
- Der Zugriff auf die Inhalte erfolgt über Screenreader wie JAWS oder VoiceOver.
Die Konformität mit den Richtlinien für Barrierefreiheit hängt letztendlich davon ab, wie diese Komponente implementiert und angepasst wird. Vom Autor des Inhalts vorgenommene Änderungen können sich auf die Barrierefreiheit auswirken. Details zu unserem Modell der geteilten Verantwortung finden Sie in unserer Erklärung zur Barrierefreiheit von Jutro.
Achten Sie bei der Verwendung dieser Komponente darauf, dass die Beschriftung eindeutig angibt, welches Datum der Benutzer eingeben oder auswählen muss.
Code
<DatePicker
label="Choose Date"
onChange={(event, value) =>
console.log('The date chosen is', value.day, value.month, value.year)
}
/>
Importanweisung
import { DatePicker } from '@jutro/components';
Komponentenvertrag
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.
Eigenschaften
labelerforderlich
BeschreibungLabel associated with the input field, also passed as a default value to 'aria-label'.
className
BeschreibungCSS class name for this component.
disabled
BeschreibungIf set to true, the component is rendered in disabled state.
Typ'vshort' | 'short' | 'long' | 'abbreviated' | 'full'
displayOnly
BeschreibungIf set to true, displays the component value in plain text. Consider using readonly instead, if possible, because plain text is worse for accessibility than readonly inputs.
hideLabel
BeschreibungIf set to true, the label is not visible.
BeschreibungHides the Today button in the calendar.
initialValue
Typ{ day: number, month: number, year: number }
BeschreibungInitial value of the input. Value must be in object format with day, month, and year property where month is indexed from 1. If the value prop is specified along with this prop, this prop's value is discarded.
labelPosition
maxDate
Typ{ day: number, month: number, year: number }
BeschreibungMaximum allowed day value.
minDate
Typ{ day: number, month: number, year: number }
BeschreibungMinimum allowed day value.
onBlur
Typfunction (FocusEvent<HTMLInputElement>)
BeschreibungA callback called after the component is focused.
onChange
Typfunction (React.ChangeEvent<HTMLInputElement>, { day: number, month: number, year: number })
BeschreibungCallback invoked when component value is changed.
onFocus
Typfunction (FocusEvent<HTMLInputElement>)
BeschreibungA callback called after the component is focused.
placeholder
BeschreibungPlaceholder to display on an empty component.
readOnly
BeschreibungIf set to true, component is rendered in a read-only state. For values in plain text, consider using displayOnly.
required
BeschreibungIf set to true, the component is rendered as required and the label includes an asterisk.
secondaryLabel
BeschreibungSecondary label text to display.
stateMessages
BeschreibungAn object with a list of error messages for the current state.
Typ{ text: intlMessageShape, trigger: string } | intlMessageShapetext
BeschreibungText to show tooltip content.
trigger
BeschreibungThe trigger to show the tooltip.
BeschreibungText to be displayed in the tooltip or tooltip object that includes: text - to show tooltip content, trigger - to set tooltip trigger.
value
Typ{ day: number, month: number, year: number }
BeschreibungValue of the input. Takes precedence over initialValue. The value must be in object format with day, month, and year property where month is indexed from 1. If this prop is passed, the component works in a controlled mode and its value will change only if this prop changes.
Hooks
Für date picker sind keine Hooks verfügbar.
Übersetzungsschlüssel
Die date picker-Komponente definiert die folgenden Übersetzungsschlüssel:
| Schlüssel | Verwendet für |
|---|
| jutro-components.fields.DatePicker.chooseDate | Beschriftungstext für das Eingabefeld. |
| jutro-components.fields.DatePicker.placeholderDay | „Tag“-Teil des Platzhalters. Muss aus zwei sich wiederholenden Zeichen bestehen. |
| jutro-components.fields.DatePicker.placeholderMonth | „Monat“-Teil des Platzhalters. Muss aus zwei sich wiederholenden Zeichen bestehen. |
| jutro-components.fields.DatePicker.placeholderYear | „Jahr“-Teil des Platzhalters. Muss aus vier sich wiederholenden Zeichen bestehen. |
date picker übernimmt auch die folgenden Übersetzungen:
| Schlüssel | Verwendet für |
|---|
| jutro-components.DateCalendar.previousMonth | Der Beschriftungstext für die Schaltfläche Vorheriger Monat. |
| jutro-components.DateCalendar.nextMonth | Der Beschriftungstext für die Schaltfläche zum nächsten Monat. |
| jutro-components.DateCalendar.currentDay | Der Beschriftungstext für die Schaltfläche zum aktuellen Datum. |
| jutro-components.DateCalendar.currentDayAriaLabel | Der Beschriftungstext für die Schaltfläche, um das aktuelle Datum als Wert auszuwählen. |
| jutro-components.MonthSkeleton.previousYear | Der Beschriftungstext für das vorherige Jahr. |
| jutro-components.MonthSkeleton.nextYear | Der Beschriftungstext für die Schaltfläche zum nächsten Jahr. |
| jutro-components.MonthSkeleton.currentMonth | Der Beschriftungstext für die Schaltfläche zum aktuellen Monat. |
| jutro-components.MonthSkeleton.currentMonthAriaLabel | Der Beschriftungstext für die Schaltfläche, um den aktuellen Monat als Wert auszuwählen. |
| jutro-components.YearCalendar.previousYears | Beschriftungstext für die Schaltfläche für den vorherigen Jahresbereich. |
| jutro-components.YearCalendar.currentYear | Die Beschriftung für die Schaltfläche „Zum aktuellen Jahr gehen“. |
| jutro-components.YearCalendar.currentYearAriaLabel | Beschriftungstext für die Schaltfläche, um das aktuelle Jahr als Wert auszuwählen. |
Das Datum wird entsprechend dem ausgewählten Gebietsschema formatiert. Ist das Gebietsschema zum Beispiel en-US, wird das Datum 20. Januar 2024 folgendermaßen formatiert: „01/20/2024“. Wenn das Gebietsschema en-GB ist, wird es als „20/01/2024“ formatiert.
Escape Hatches
Weitere Informationen finden Sie in unserer Dokumentation über Escape Hatches.
Beispiele
Im Abschnitt Verwendung finden Sie Informationen zum korrekten Design einer Datumsauswahl und den verschiedenen von Guidewire bereitgestellten Konfigurationsoptionen.
Beispiel für eine einfache Datumsauswahl
Sie können eine Eingabe hinzufügen, mit der ein Benutzer ein Datum entweder manuell oder über ein modales Kalenderfenster eingeben kann.
<DatePicker
label="Choose date"
onChange={(event, value) =>
console.log('The date chosen is', value.day, value.month, value.year)
}
/>
Beispiel für Min/Max
Sie können den Datumsbereich begrenzen, der vom Benutzer ausgewählt werden kann.
Note: Dies beinhaltet keine Validierung, sondern schränkt nur die Optionen in einem Dropdown-Menü ein. Benutzer können jedes Datum manuell eingeben.
<DatePicker
label="Choose date"
minDate={{ day: 1, month: 1, year: 2022 }}
maxDate={{ day: 31, month: 12, year: 2023 }}
/>
Beispiel für Validierung
Mit der Eigenschaft onChange kann eine Funktion aufgerufen werden, die stateMessages aktualisiert, um für den Benutzer Fehler anzuzeigen.
Im folgenden Beispiel werden Fehler für ungültige Daten oder Daten angezeigt, die nicht im Jahr 2022 liegen.
function DatePickerMinMaxValidation() {
const [validationMessages, setValidationMessages] = useState({});
const minDate = { day: 1, month: 1, year: 2022 };
const maxDate = { day: 31, month: 12, year: 2022 };
function JutroDateToString(date) {
return `${date.year}-${String(date.month).padStart(2, '0')}-${String(
date.day
).padStart(2, '0')}`;
}
const parseErrorCode = (errorObject: { errorCode?: string }) => {
if (!errorObject) {
return;
}
const { errorCode } = errorObject;
if (errorCode === 'INVALID_DATE') {
return { error: ['Please enter a valid date.'] };
}
if (errorCode === 'MIN_EXCEEDED') {
return {
error: [`Please enter a date after ${JutroDateToString(minDate)}.`],
};
}
if (errorCode === 'MAX_EXCEEDED') {
return {
error: [`Please enter a date before ${JutroDateToString(maxDate)}.`],
};
}
};
const onChange = useCallback((e, newValue, errorObject) => {
setValidationMessages({});
const errorDetected = parseErrorCode(errorObject);
if (errorDetected) {
setValidationMessages(errorDetected);
}
}, []);
return (
<DatePicker
label="Choose date"
onChange={onChange}
minDate={minDate}
maxDate={maxDate}
stateMessages={validationMessages}
/>
);
}
Änderungsprotokoll
10.13.0
Für die DatePicker-Komponente wurde ein Importpfad aus @jutro/components hinzugefügt.
Der alte Importpfad aus @jutro/components/new wird in einer künftigen Hauptversion entfernt.
Benutzern wird empfohlen, den folgenden Befehl auszuführen, um einen Codemod anzuwenden und die Importpfade in ihrem Code zu aktualisieren.
jutro codemod:apply --name=MigrateDatePickerImportFromNew
Weitere Informationen zu Jutro-Codemods finden Sie in der Codemods-Dokumentation.
10.9.0
icon-Eigenschaftstyp erweitert
Der Typ der Eigenschaft icon für die abgekündigte Komponente DateField wurde auf string | React.ComponentType erweitert.
icon-Standardwert geändert
Der Standardwert für die Eigenschaft icon der abgekündigten Komponente DateField wurde von 'gw-check' in CheckIcon geändert.
10.5.0
Es wurde die neue Komponente @jutro/components/new/DatePicker eingeführt, die DateField ersetzt.
DateField kann weiterhin aus @jutro/components/DateField importiert werden, allerdings erhalten Sie eine Warnung, dass diese Aktion abgekündigt wurde.