Toast

弹出层 / Toast提示组件

Toast是移动端比较灵活的通知组件, 可以用它来处理反馈信息或者展示系统消息. Toast组件可以出现在内容的上面/下面/中间, 可以定时关闭, 也可以手动点击Toast的关闭按钮, 形式较为灵活.

还有

Toast组件本身并不是单例对象, 但是调用指纹都为Toast('Toast Bottom Only String'), 因此可能会问:
如何程序关闭toast呢? 目前, 关闭Toast只有三个方法:

  1. duration 过期时间
  2. showCloseButton 关闭按钮
  3. 当上面两个都设置了, 则只执行第二个配置
  4. let toast = Toast('Toast Bottom Only String')返回toast实例, 执行toast.dismiss()执行关闭

因此使用Toast需要知道这一点.

此外

  • 在Toast的传入参数中定义onDismiss回调函数, 可以在Toast关闭及动画结束后可以进行一些操作.
  • dismissOnPageChange表示如果路由切换自动关闭Toast, 这个属性默认值为false.

实例化Toast的方法

1. 只传入Message

 Toast('Bottom was added successfully')

2. 传入Message和Duration

 Toast('Bottom was added successfully',1000)

3. 传入Options对象

 Toast({
    message: 'Bottom was added successfully',
    duration: 3000,
    position: 'bottom',
    dismissOnPageChange: true,
    onDismiss () {
      console.debug('2 onDismiss in promise success!')
    }
 })
 Toast({
    message: 'Top with Button was added successfully',
    duration: 3000, // 这个不生效
    position: 'top',
    showCloseButton: true,
    closeButtonText: '好的',
    cssClass: 'showCloseBtnToastCssClass',
    dismissOnPageChange: true,
    onDismiss () {
      console.debug('5 onDismiss in promise success!')
    }
 })
源码:

传入属性 / Props:

Name Type Attributes Default Description
message string Toast显示的message, 如果文本过程则折行并自动撑开容器
duration number <optional>
3000 Toast开启时间, 过期后关闭
position string <optional>
"bottom" Toast开启放置的位置. 可以是: "top", "middle", "bottom".
cssClass string <optional>
额外的样式定义, 多个样式使用空格隔开
showCloseButton boolean <optional>
false 是否显示关闭按钮
closeButtonText string <optional>
'Close' 关闭按钮的文字, 这里默认是Close
dismissOnPageChange boolean <optional>
false 当导航切换时, 是否自动关闭, 默认不关闭
mode string <optional>
'ios' 模式
onDismiss string <optional>
noop 当关闭动画结束时执行的函数
type string <optional>
'' (支付宝/DingTalk) toast 类型,展示相应图标,类型可选值: success / fail