LgYearBox
LgYearBox<TValue> permet de saisir ou de sélectionner une année via un
champ texte doublé d'un sélecteur d'années. Contrairement au reste de la
famille date (LgDateBox), la valeur liée est un entier
(int ou int?) : l'année elle-même.
<LgYearBox Label="#FiscalYear" @bind-Value="_model.FiscalYear" />
- Espace de noms :
Lagoon.UI.Components - Hérite de :
LgInputRenderBase<TValue>→LgInputBase<TValue>→LgAriaComponentBase→LgComponentBase - Package NuGet :
Lagoon.UI
Le suffixe du champ est réservé : le composant y place automatiquement l'icône
calendrier (Suffix / SuffixType sont écrasés à l'initialisation).
Utilisation
Démonstration
Essayez ce composant dans le showcase Lagoon.
Saisie simple
<LgYearBox Label="#FiscalYear" @bind-Value="_model.FiscalYear" />
public partial class BudgetPage : LgPage
{
// Modèle édité : l'année est nullable pour autoriser un champ vide.
private readonly BudgetVm _model = new();
private sealed class BudgetVm
{
public int? FiscalYear { get; set; }
}
}
Bornes de sélection
Min et Max (des entiers) désactivent les années hors bornes dans le
sélecteur.
<LgYearBox Label="#ArchiveYear"
Min="2000"
Max="2026"
@bind-Value="_model.ArchiveYear" />
public partial class ArchivePage : LgPage
{
private readonly ArchiveVm _model = new();
private sealed class ArchiveVm
{
public int? ArchiveYear { get; set; }
}
}
Réagir au changement de valeur
OnChangingAsync est appelé avant l'affectation et permet d'annuler le
changement (args.Cancel) ; OnChange (hérité) est appelé après.
<LgYearBox Label="#CampaignYear"
OnChangingAsync="OnYearChangingAsync"
@bind-Value="_model.CampaignYear" />
public partial class CampaignPage : LgPage
{
private readonly CampaignVm _model = new();
// Appelé avant le changement : refuse les années sans campagne connue.
private Task OnYearChangingAsync(ChangingEventArgs<int?> args)
{
if (args.NewValue < 2010)
{
args.Cancel = true;
ShowWarning("#NoCampaignBefore2010");
}
return Task.CompletedTask;
}
private sealed class CampaignVm
{
public int? CampaignYear { get; set; }
}
}
Propriétés
Toutes les propriétés [Parameter] du composant, y compris celles héritées.
| Nom | Type | Défaut | Déclaré dans | Description |
|---|---|---|---|---|
Max | int? | null | LgYearBox | Année la plus tardive sélectionnable ; les années ultérieures sont désactivées. |
Min | int? | null | LgYearBox | Année la plus ancienne sélectionnable ; les années antérieures sont désactivées. |
OnChangingAsync | Func<ChangingEventArgs<TValue>, Task> | null | LgYearBox | Callback appelé avant le changement de valeur ; le changement peut y être annulé. |
OnFocus | EventCallback<FocusEventArgs> | — | LgYearBox | Callback appelé à la prise de focus. |
Placeholder | string | null | LgYearBox | Texte indicatif affiché quand le champ est vide. |
Prefix | string | null | LgInputRenderBase | Préfixe affiché dans le champ. |
PrefixType | InputLabelType | Text | LgInputRenderBase | Nature du préfixe. |
Suffix | string | (icône calendrier) | LgInputRenderBase | Suffixe affiché dans le champ. Réservé : le composant y place l'icône calendrier. |
SuffixType | InputLabelType | IconName | LgInputRenderBase | Nature du suffixe. Réservé par le composant. |
AdditionalAttributes | IReadOnlyDictionary<string, object> | null | LgInputBase | Attributs HTML additionnels appliqués à l'élément rendu. |
AutoFocus | bool | false | LgInputBase | Donne le focus au champ lors du premier rendu. |
ConfirmationMessage | string | null | LgInputBase | Message de confirmation affiché avant d'appliquer un changement de valeur. |
Container | IInputContainer<TValue> | null | LgInputBase | Usage interne : rattache une cellule de GridView au champ. |
CssClass | string | null | LgInputBase | Classes CSS additionnelles. |
Disabled | bool | false | LgInputBase | Désactive le champ. |
DisplayName | string | null | LgInputBase | Nom du champ utilisé dans les messages d'erreur de saisie. |
HideValidationMessage | bool | false | LgInputBase | Masque le message de validation sous le champ. |
Label | string | null | LgInputBase | Libellé du champ. |
LabelContent | RenderFragment | null | LgInputBase | Contenu personnalisé de la zone de libellé. |
OnChange | EventCallback<ChangeEventArgs> | — | LgInputBase | Callback appelé après le changement de valeur. |
OnReset | EventCallback<ChangeEventArgs> | — | LgInputBase | Callback appelé quand le champ est réinitialisé par le bouton d'effacement. |
PolicyEdit | string | null | LgInputBase | Policy requise pour modifier le champ. |
PolicyVisible | string | null | LgInputBase | Policy requise pour afficher le champ. |
ReadOnly | bool | false | LgInputBase | Affiche le champ en lecture seule. |
Required | bool? | null | LgInputBase | Champ obligatoire. Si null, déduit de l'attribut [Required] de la propriété liée. |
ResetButton | bool? | null | LgInputBase | Affiche le bouton d'effacement. Si null, la configuration de comportement de l'application s'applique. |
ResetText | string | null | LgInputBase | Texte du bouton d'effacement. |
ResetTextAriaLabel | string | null | LgInputBase | Libellé accessible (aria-label) du bouton d'effacement. |
Tooltip | string | null | LgInputBase | Bulle d'aide. |
TooltipIsHtml | bool | false | LgInputBase | Indique si le contenu du Tooltip est au format HTML (sinon texte brut). |
Value | TValue | — | LgInputBase | Valeur liée (@bind-Value), de type int ou int?. |
ValueChanged | EventCallback<TValue> | — | LgInputBase | Callback de mise à jour de la valeur liée. |
ValueExpression | Expression<Func<TValue>> | — | LgInputBase | Expression identifiant la propriété liée. |
AriaLabel | string | null | LgAriaComponentBase | Valeur de l'attribut aria-label. |
AriaLabelledBy | string | null | LgAriaComponentBase | Valeur de l'attribut aria-labelledby. |
LgYearBox consomme aussi des paramètres fournis automatiquement par des
composants ancêtres (vous n'avez pas à les définir) : ParentAuthorizeView
(LgAuthorizeView) et le contexte d'édition d'un LgEditForm parent.
Événements
| Événement | Type | Description |
|---|---|---|
OnChangingAsync | Func<ChangingEventArgs<TValue>, Task> | Avant le changement de valeur ; args.Cancel = true annule le changement. |
OnChange | EventCallback<ChangeEventArgs> | Après le changement de valeur. |
OnFocus | EventCallback<FocusEventArgs> | À la prise de focus du champ. |
OnReset | EventCallback<ChangeEventArgs> | À la réinitialisation par le bouton d'effacement. |
Bonnes pratiques / accessibilité
- La valeur liée doit être
intouint?: tout autre type provoque une erreur à l'exécution. - Ne définissez pas
Suffix/SuffixType: ils sont écrasés par l'icône calendrier à l'initialisation du composant.
Tous les paramètres (hérités compris) : Référence API — LgYearBox.
Composants liés
LgDateBox— sélection d'un jour.LgMonthBox— sélection d'un mois.LgWeekBox— sélection d'une semaine.LgGridYearColumn— colonne année d'unLgGridView.