LgCopyButton
LgCopyButton est un bouton qui copie une valeur dans le presse-papiers du
navigateur lorsqu'il est cliqué. Il dérive de LgButton et
en hérite donc toutes les propriétés.
<LgCopyButton Value="@Model.Reference" />
- Espace de noms :
Lagoon.UI.Components - Hérite de :
LgButton→LgAriaComponentBase→LgComponentBase - Package NuGet :
Lagoon.UI
Le constructeur prédéfinit l'icône (IconNames.All.ClipboardPlus), la bulle
d'aide (#lgCopyButtonTooltip) et l'action de clic (copie). Après une copie
réussie, l'icône passe à ClipboardCheck. Vous pouvez surcharger l'IconName
ou le Tooltip comme sur n'importe quel LgButton.
Utilisation
Démonstration
Essayez ce composant dans le showcase Lagoon.
Copie simple
Value est converti en texte au moment du clic, puis copié dans le presse-papiers. Le bouton hérite des propriétés de LgButton pour le style, la taille, les policies ou les raccourcis.
<LgCopyButton Value="@Model.Reference" />
public partial class ReferencePage : LgPage
{
// Référence copiée telle qu'elle est affichée dans l'écran.
private ReferenceVm Model { get; } = new() { Reference = "ORD-2025-0001" };
private sealed class ReferenceVm
{
public string Reference { get; set; }
}
}
Personnaliser l'apparence héritée de LgButton
L'icône et le tooltip par défaut conviennent aux cas courants, mais vous pouvez les remplacer comme sur un LgButton classique.
<LgCopyButton Value="@Model.Reference"
Text="#CopyReference"
Kind="ButtonKind.Secondary"
ButtonSize="ButtonSize.Small"
ShortcutKey="c"
Tooltip="#CopyReferenceTooltip" />
public partial class ReferenceToolbarPage : LgPage
{
// Valeur métier copiée par le raccourci ou par le clic du bouton.
private ReferenceVm Model { get; } = new() { Reference = "ORD-2025-0001" };
private sealed class ReferenceVm
{
public string Reference { get; set; }
}
}
Préparer ou annuler la copie avec OnCopy
OnCopy est appelé juste avant l'écriture dans le presse-papiers. Modifiez ClipboardTextEventArg.Value pour normaliser le texte copié ; affectez null pour ne rien copier.
<LgCopyButton Value="@Model.Reference" OnCopy="PrepareCopyAsync" />
public partial class ReferenceCopyPage : LgPage
{
// Valeur source : elle peut être nettoyée sans modifier le modèle affiché.
private ReferenceVm Model { get; } = new() { Reference = " ord-2025-0001 " };
// Intercepte la copie pour normaliser la référence et empêcher une copie vide.
private Task PrepareCopyAsync(ClipboardTextEventArg arg)
{
if (string.IsNullOrWhiteSpace(arg.Value))
{
arg.Value = null;
ShowWarning("#NothingToCopy");
return Task.CompletedTask;
}
arg.Value = arg.Value.Trim().ToUpperInvariant();
ShowSuccess("#ReferenceCopied");
return Task.CompletedTask;
}
private sealed class ReferenceVm
{
public string Reference { get; set; }
}
}
Copier une valeur calculée
Value accepte un object. Fournissez une propriété calculée lorsque le contenu copié doit assembler plusieurs informations sans changer l'affichage de la page.
<LgCopyButton Value="@ClipboardValue"
Text="#CopyForSupport"
IconName="@IconNames.All.ClipboardPlus" />
public partial class ReferenceComputedPage : LgPage
{
// Données visibles séparément à l'écran, mais copiées sous forme compacte pour le support.
private ReferenceVm Model { get; } = new() { Reference = "ORD-2025-0001", Version = 7 };
// Valeur calculée au rendu : pratique pour copier une référence technique complète.
private string ClipboardValue => $"{Model.Reference};v={Model.Version}";
private sealed class ReferenceVm
{
public string Reference { get; set; }
public int Version { get; set; }
}
}
Propriétés
Propriétés propres
| Nom | Type | Défaut | Déclaré dans | Description |
|---|---|---|---|---|
Value | object | null | LgCopyButton | Valeur à enregistrer dans le presse-papiers lors du clic. |
OnCopy | EventCallback<ClipboardTextEventArg> | — | LgCopyButton | Callback déclenché lors de la copie ; permet de lire ou modifier la valeur copiée via ClipboardTextEventArg.Value. |
Propriétés héritées
LgCopyButton hérite de toutes les propriétés de
LgButton (Kind, ButtonSize, Disabled,
CssClass, Tooltip, PolicyVisible, etc.).
Événements
| Événement | Type | Description |
|---|---|---|
OnCopy | EventCallback<ClipboardTextEventArg> | Déclenché au moment de la copie. Si ClipboardTextEventArg.Value est null, rien n'est copié. |
Énumérations associées
Ces boutons héritent des énumérations de LgButton : ButtonKind, ButtonSize, TooltipPosition.
Composants liés
LgPasteButton— bouton de collage depuis le presse-papiers.LgButton— bouton de base.