## Message Utilisé pour avoir un retour après une action particulière. La différence avec Notification est que ce dernier est surtout utilisé pour afficher des notifications système passives. ### Usage S'affiche en haut de la page et disparaît après trois secondes. :::demo L'utilisation de Message est très similaire à Notification, la plupart des options ne sont donc pas expliquées ici. Référez-vous à la table en fin de page et celle de Notification pour en savoir plus. Element Plus affecte la méthode `$message` pour appeler Message. Il peut prendre en paramètre un string ou un VNode, qui sera affiché en tant que body principal. ```html ``` ::: ### Types Utilisé pour montrer un retour d'activités Success, Warning, Message ou Error. :::demo Lorsque vous avez besoin de plus de personnalisation, Message peut aussi accepter un objet en paramètre. Par exemple, le paramètre `type` définit différents types, son défaut étant `info`. Dans ce cas le body est passé comme valeur de `message`. De plus, il existe des méthodes pour chaque type, afin que vous puissiez vous passer de la propriété `type` comme dans `open4`. ```html ``` ::: ### Fermeture Un bouton de fermeture peut être ajouté. :::demo Un Message ne peut être fermé par défaut. Utiliséez `showClose` si vous avez besoin de pouvoir le fermer. De plus, tout comme Notification, Message possède une `duration` réglable. La durée par défaut est de 3000 ms, et infinie si à `0`. ```html ``` ::: ### Texte centré Utilisez l'attribut `center` pour centrer le texte. :::demo ```html ``` ::: ### Utiliser du HTML `message` supporte le HTML. :::demo Mettez `dangerouslyUseHTMLString` à true et `message` sera traité comme du HTML. ```html ``` ::: :::warning Bien que la propriété `message` supporte le HTML, générer du contenu HTML dynamiquement peut être très dangereux, car cela permet des [attaques XSS](https://en.wikipedia.org/wiki/Cross-site_scripting). Donc lorsque `dangerouslyUseHTMLString` est présent, soyez certain de sécuriser le contenu de `message`, et n'assignez **jamais** à `message` du contenu fournit par l'utilisateur. ::: ### Méthode globale Element Plus ajoute une méthode `$message` à `app.config.globalProperties`. Vous pouvez donc appeler `Message` dans l'instance de Vue comme dans cette page. ### Import à la demande ```javascript import { ElMessage } from 'element-plus'; ``` Dans ce cas il faudra appeler `ElMessage(options)`. Les méthodes des différents types sont aussi ajoutées, e.g. `ElMessage.success(options)`. Vous pouvez appeler `ElMessage.closeAll()` pour fermer manuellement toutes les instances. ### Options | Attribut | Description | Type | Valeurs acceptées | Défaut | |---------- |-------------- |---------- |-------------------------------- |-------- | | message | Texte du message. | string / VNode | — | — | | type | Type du message. | string | success/warning/info/error | info | | iconClass | Classe de l'icône, écrase `type`. | string | — | — | | dangerouslyUseHTMLString | Si `message` doit être traité comme du HTML. | boolean | — | false | | customClass | Nom de classe pour Message. | string | — | — | | duration | La durée d'affichage, en millisecondes. Si 0, la durée est infinie. | number | — | 3000 | | showClose | Si un bouton de fermeture doit être affiché. | boolean | — | false | | center | Si le texte doit être centré. | boolean | — | false | | onClose | Callback de fermeture avec en paramètre l'instance de Message. | function | — | — | | offset | set the distance to the top of viewport | number | — | 20 | ### Méthodes `Message` et `this.$message` retourne l'instance actuelle. Pour fermer manuellement cette instance, appelez sa méthode `close`. | Méthode | Description | | ---- | ---- | | close | Ferme l'instance de Message. |