Toast

Toast组件主要用于非模态信息提醒,无需用户交互。

注: 由于此组件基于 create-api 实现,所以在使用之前,请确保自己了解过 create-api

示例

  • 显示时间设置

    <cube-button @click="showToastTime">Toast - time 1s</cube-button>
    <cube-button @click="showToastTime0">Toast - time 0</cube-button>
    
    export default {
      methods: {
        showToastTime() {
          const toast = this.$createToast({
            time: 1000,
            txt: 'Toast time 1s'
          })
          toast.show()
        },
        showToastTime0() {
          const toast = this.$createToast({
            time: 0,
            txt: 'Toast time 0'
          })
          toast.show()
          setTimeout(() => {
            toast.hide()
          }, 2000)
        }
      }
    }
    

    time 字段决定了 Toast 显示的时间,如果设置为 0,则不会消失,需要手动调用组件的 hide 方法。

  • 显示遮罩

    <cube-button @click="showToastMask">Toast- with mask</cube-button>
    
    export default {
      methods: {
        showToastMask () {
          const toast = this.$createToast({
            txt: 'Loading...',
            mask: true
          })
          toast.show()
        }
      }
    }
    

    mask 设置为 true 时会显示遮罩。

  • 类型设置

    <cube-button @click="showToastType">Toast - type</cube-button>
    
    export default {
      methods: {
        showToastType() {
          const toast = this.$createToast({
            txt: 'Correct',
            type: 'correct'
          })
          toast.show()
        }
      }
    }
    

    type 字段决定了 Toast 的显示图标类型,具体对应关系,参见下方的 Props 配置。

  • 纯文本类型1.11.0

    <cube-button @click="showToastTxtOnly">Toast - txt only</cube-button>
    
    export default {
      methods: {
        showToastTxtOnly() {
          this.toast = this.$createToast({
            txt: 'Plain txt',
            type: 'txt'
          })
          this.toast.show()
        }
      }
    }
    
  • 事件回调

    <cube-button @click="showToastCallback">Toast - callback</cube-button>
    
    export default {
      methods: {
        showToastCallbak() {
          const toast = this.$createToast({
            txt: 'Timeout',
            time: 1000,
            onTimeout: () => {
              console.log('Timeout')
            }
          })
          toast.show()
        }
      }
    }
    

    除了设置 onTimeout 的形式,还可以通过 $events 传入事件回调。

    export default {
      methods: {
        showToastCallbak() {
          const toast = this.$createToast({
            txt: 'Timeout',
            time: 1000,
            $events: {
              timeout: () => {
                console.log('Timeout')
              }
            }
          })
          toast.show()
        }
      }
    }
    

Props 配置

参数 说明 类型 可选值 默认值
visible1.8.1 显示状态,是否可见。v-model绑定值 Boolean true/false false
type 类型(对应不同的 icon) String loading/correct/error/warn/txt1.11.0 loading
mask 遮罩 Boolean true/false false
txt 提示信息 String - ''
time 显示时间 Number - 3000
maskClosable1.9.6 点击蒙层是否隐藏 Boolean true/false false
zIndex1.9.6 样式 z-index 的值 Number - 900

事件

事件名 说明
timeout 当显示时间结束时派发

实例方法

方法名 说明
show 显示
hide 隐藏