Message 全局提示


相比 NotificationMessage 更轻量,居中显示在页面顶部,用于展示全局消息,例如操作的反馈信息

  • 提供消息、成功、错误、警告等反馈提示
  • 在顶部居中显示,并自动消失,是一种不打断用户操作的轻量级提示我们在 Vue.prototype 中添加了全局对象 $Message,我们可以直接通过 this.$Message 操作实例

  • this.$Message(config)

  • this.$Message.info(config)
  • this.$Message.success(config)
  • this.$Message.warning(config)
  • this.$Message.error(config)
  • this.$Message.loading(config)

基础用法

四种类型的消息提示

Message全局提示 - 图1

  1. <at-button @click="handleClick('info')">Info</at-button>
  2. <at-button @click="handleClick('success')">Success</at-button>
  3. <at-button @click="handleClick('warning')">Warning</at-button>
  4. <at-button @click="handleClick('error')">Error</at-button>
  5. <script>
  6. export default {
  7. methods: {
  8. handleClick (type) {
  9. if (type === 'info') {
  10. this.$Message.info('这是一条提示信息这是一条提示信息这是一条提示信息这是一条提示信息这是一条提示信息')
  11. } else if (type === 'success') {
  12. this.$Message.success('这是一条成功信息')
  13. } else if (type === 'warning') {
  14. this.$Message.warning('这是一条警告信息')
  15. } else if (type === 'error') {
  16. this.$Message.error('这是一条错误信息')
  17. }
  18. }
  19. }
  20. }
  21. </script>

修改延时

提示默认的显示时长为 3s,可传递 duration 来自定义时长

Message全局提示 - 图2

  1. <at-button @click="changeDuration">修改延时</at-button>
  2. <script>
  3. export default {
  4. methods: {
  5. changeDuration () {
  6. this.$Message.info({
  7. message: '这是一条提示信息,10s 后自动关闭',
  8. duration: 10000
  9. })
  10. }
  11. }
  12. }
  13. </script>

加载中

this.$Message.loading 返回关闭方法,可用于手动关闭提示框

Message全局提示 - 图3

  1. <at-button @click="showLoading">显示加载中...</at-button>
  2. <script>
  3. export default {
  4. methods: {
  5. showLoading () {
  6. const loading = this.$Message.loading({
  7. message: '加载中...',
  8. duration: 0
  9. })
  10. setTimeout(loading, 3000)
  11. }
  12. }
  13. }
  14. </script>

Message 参数

参数说明类型可选值默认值
type全局提示的类别Stringsuccess, error, warning, infoinfo
message提示的内容String--
duration自动关闭的延时,默认为 3000 毫秒Number-3000
icon自定义类别ICONString-info
onClose关闭提示框时的回调函数Function--