Toast 提示框

一种轻量级反馈/提示,可以用来显示不会打断用户操作的内容,适合用于页面转场、数据交互的等场景中。

使用指南

在 page.json 中引入组件

  1. {
  2. "navigationBarTitleText": "Toast",
  3. "usingComponents": {
  4. "wux-button": "../../dist/button/index",
  5. "wux-toast": "../../dist/toast/index"
  6. }
  7. }

示例

!> 该组件主要依靠 JavaScript 主动调用,所以一般只需在 wxml 中添加一个组件,并设置 id 为 #wux-toast 或其他,之后在 page.js 中调用 $wuxToast(id) 获取匹配到的第一个组件实例对象。

  1. <wux-toast id="wux-toast" />
  2. <view class="page">
  3. <view class="page__hd">
  4. <view class="page__title">Toast</view>
  5. <view class="page__desc">提示框</view>
  6. </view>
  7. <view class="page__bd page__bd_spacing">
  8. <wux-button block type="light" bind:click="showToast">Success</wux-button>
  9. <wux-button block type="light" bind:click="showToastCancel">Cancel</wux-button>
  10. <wux-button block type="light" bind:click="showToastErr">Forbidden</wux-button>
  11. <wux-button block type="light" bind:click="showToastText">Text</wux-button>
  12. <wux-button block type="light" bind:click="showToastIcon">Custom Icon</wux-button>
  13. <wux-button block type="light" bind:click="showToastReturn">Use return value to close</wux-button>
  14. <wux-button block type="light" bind:click="showToastPromie">Use promise to know when closed</wux-button>
  15. </view>
  16. </view>
  1. import { $wuxToast } from '../../dist/index'
  2. Page({
  3. data: {},
  4. onLoad() {},
  5. showToast() {
  6. $wuxToast().show({
  7. type: 'success',
  8. duration: 1500,
  9. color: '#fff',
  10. text: '已完成',
  11. success: () => console.log('已完成')
  12. })
  13. // The same as above
  14. // $wuxToast().success('已完成', {
  15. // duration: 1500,
  16. // color: '#fff',
  17. // success: () => console.log('已完成')
  18. // })
  19. },
  20. showToastCancel() {
  21. $wuxToast().show({
  22. type: 'cancel',
  23. duration: 1500,
  24. color: '#fff',
  25. text: '取消操作',
  26. success: () => console.log('取消操作')
  27. })
  28. // The same as above
  29. // $wuxToast().error('取消操作', {
  30. // duration: 1500,
  31. // color: '#fff',
  32. // success: () => console.log('取消操作')
  33. // })
  34. },
  35. showToastErr() {
  36. $wuxToast().show({
  37. type: 'forbidden',
  38. duration: 1500,
  39. color: '#fff',
  40. text: '禁止操作',
  41. success: () => console.log('禁止操作')
  42. })
  43. // The same as above
  44. // $wuxToast().warning('禁止操作', {
  45. // duration: 1500,
  46. // color: '#fff',
  47. // success: () => console.log('禁止操作')
  48. // })
  49. },
  50. showToastText() {
  51. $wuxToast().show({
  52. type: 'text',
  53. duration: 1500,
  54. color: '#fff',
  55. text: '文本提示',
  56. success: () => console.log('文本提示')
  57. })
  58. // The same as above
  59. // $wuxToast().info('文本提示', {
  60. // duration: 1500,
  61. // color: '#fff',
  62. // success: () => console.log('文本提示')
  63. // })
  64. },
  65. showToastIcon() {
  66. $wuxToast().show({
  67. type: 'default',
  68. duration: 1500,
  69. color: '#fff',
  70. icon: 'ios-happy',
  71. text: '自定义图标',
  72. success: () => console.log('自定义图标')
  73. })
  74. },
  75. showToastReturn() {
  76. if (this.timeout) clearTimeout(this.timeout)
  77. const hide = $wuxToast().show({
  78. type: 'success',
  79. duration: 1500,
  80. color: '#fff',
  81. text: '已完成',
  82. })
  83. this.timeout = setTimeout(hide, 1000)
  84. },
  85. showToastPromie() {
  86. const hide = $wuxToast().show({
  87. type: 'success',
  88. duration: 1500,
  89. color: '#fff',
  90. text: '已完成',
  91. })
  92. // hide.promise.then(() => console.log('success'))
  93. hide.then(() => console.log('success'))
  94. },
  95. })

视频演示

Toast

API

参数 类型 描述 默认值
options object 配置项 -
options.prefixCls string 自定义类名前缀 wux-toast
options.classNames any 过渡的类名,更多内置过渡效果请参考 AnimationGroup wux-animate—fadeIn
options.type string 提示类型,可选值为 default、success、cancel、forbidden、text default
options.duration number 提示延迟时间 1500
options.color string 图标颜色 #fff
options.text string 提示文本 -
options.icon string 图标名称 -
options.mask boolean 是否显示蒙层 true
options.success function 关闭后的回调函数 -

Toast.method

静态方法

  • Toast.show
  • Toast.success
  • Toast.warning
  • Toast.error
  • Toast.info

以上函数支持参数 Toast(text: string, options: object) 或 Toast(options: object),调用后会返回一个引用,可以通过该引用手动关闭组件

  1. const hide = Toast.show()
  2. hide()
  3. // 返回值支持 promise 接口,可以通过 then/promise.then 方法在关闭后运行 callback
  4. hide.then(callback)
  5. hide.promise.then(callback)

销毁方法

  • Toast.hide