message.d.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import Vue, {VNode} from 'vue'
  2. export type MessageType = 'success' | 'warning' | 'info' | 'error'
  3. /** Message Component */
  4. export declare class ElMessageComponent extends Vue {
  5. /** Close the Loading instance */
  6. close (): void
  7. }
  8. export interface CloseEventHandler {
  9. /**
  10. * Triggers when a message is being closed
  11. *
  12. * @param instance The message component that is being closed
  13. */
  14. (instance: ElMessageComponent): void
  15. }
  16. /** Options used in Message */
  17. export interface ElMessageOptions {
  18. /** Message text */
  19. message: string | VNode
  20. /** Message type */
  21. type?: MessageType
  22. /** Custom icon's class, overrides type */
  23. iconClass?: string
  24. /** Custom class name for Message */
  25. customClass?: string
  26. /** Display duration, millisecond. If set to 0, it will not turn off automatically */
  27. duration?: number
  28. /** Whether to show a close button */
  29. showClose?: boolean
  30. /** Whether to center the text */
  31. center?: boolean
  32. /** Whether message is treated as HTML string */
  33. dangerouslyUseHTMLString?: boolean
  34. /** Callback function when closed with the message instance as the parameter */
  35. onClose?: CloseEventHandler
  36. /** Set the distance to the top of viewport. Default is 20 px. */
  37. offset?: number
  38. }
  39. export interface ElMessage {
  40. /** Show an info message */
  41. (text: string): ElMessageComponent
  42. /** Show message */
  43. (options: ElMessageOptions): ElMessageComponent
  44. /** Show a success message */
  45. success (text: string): ElMessageComponent
  46. /** Show a success message with options */
  47. success (options: ElMessageOptions): ElMessageComponent
  48. /** Show a warning message */
  49. warning (text: string): ElMessageComponent
  50. /** Show a warning message with options */
  51. warning (options: ElMessageOptions): ElMessageComponent
  52. /** Show an info message */
  53. info (text: string): ElMessageComponent
  54. /** Show an info message with options */
  55. info (options: ElMessageOptions): ElMessageComponent
  56. /** Show an error message */
  57. error (text: string): ElMessageComponent
  58. /** Show an error message with options */
  59. error (options: ElMessageOptions): ElMessageComponent
  60. }
  61. declare module 'vue/types/vue' {
  62. interface Vue {
  63. /** Used to show feedback after an activity. The difference with Notification is that the latter is often used to show a system level passive notification. */
  64. $message: ElMessage
  65. }
  66. }