界面交互~Toast和模态对话框

界面交互

名称功能说明
wx.showToast 显示消息提示框
wx.showModal 显示模态对话框
wx.showLoading 显示 loading 提示框
wx.showActionSheet 显示操作菜单
wx.hideToast 隐藏消息提示框
wx.hideLoading 隐藏 loading 提示框

 

(1)消息提示框wx.showToast

    在完成某个操作成功之后,我们希望告诉用户这次操作成功并且不打断用户接下来的操作。弹出式提示Toast就是用在这样的场景上,Toast提示默认1.5秒后自动消失,其表现形式如图4-19所示。

​ 图4-19 Toast弹出式提示

小程序提供了显示隐藏Toast的接口,代码示例如下所示。

代码清单4-3 显示/隐藏Toast

Page({
  onLoad: function() {
    wx.showToast({ // 显示Toast
      title: '已发送',
      icon: 'success',
      duration: 1500
    })
    // wx.hideToast() // 隐藏Toast
  }
})

 

代码:

  // showToast
  showToast(){
    wx.showToast({
      title: '成功',
      /*成功后返回主页面*/
      success(){
        wx.switchTab({
          url: '/pages/index/index',
        })
      }, 
      fail(){
        console.log('接口调用失败');
      }
    })
  }

 

(2)模态对话框wx.showModal

    特别要注意,我们不应该把Toast用于错误提示,因为错误提示需要明确告知用户具体原因,因此不适合用这种一闪而过的Toast弹出式提示。一般需要用户明确知晓操作结果状态的话,会使用模态对话框来提示,同时附带下一步操作的指引。

<button 
  class="weui-btn"
  bindtap="showModal"
  type="primary">模态对话框</button>

  // 模态框
  showModal(){
    wx.showModal({
      title: '标题',
      content: '告知当前状态,信息和解决方法',
      confirmText: '主操作',
      cancelText: '次要操作',
      success: function (res) {
        if (res.confirm) {
          console.log('用户点击主操作')
        } else if (res.cancel) {
          console.log('用户点击次要操作')
        }
      }
    })
  }

 

 

(3)显示 loading 提示框wx.showLoading

    显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框

wx.showLoading({
  title: '加载中',
})

setTimeout(function () {
  wx.hideLoading()
}, 2000)

  

 

注意

 

 

(4)弹出操作菜单wx.showActionSheet

参数

Object object

属性类型默认值必填说明
itemList Array.<string>   按钮的文字数组,数组长度最大为 6
itemColor string #000000 按钮的文字颜色
success function   接口调用成功的回调函数
fail function   接口调用失败的回调函数
complete function   接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数
Object res
属性类型说明
tapIndex number 用户点击的按钮序号,从上到下的顺序,从0开始

示例代码

wx.showActionSheet({
  itemList: ['A', 'B', 'C'],
  success (res) {
    console.log(res.tapIndex)
  },
  fail (res) {
    console.log(res.errMsg)
  }
})

注意

  • Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel";
  • Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑

  效果:

  

 

 

 

 

.

posted @ 2019-07-03 11:09  剑仙6  阅读(718)  评论(0编辑  收藏  举报
欢迎访问个人网站www.qingchun.在线