一、toast 消息提示框
他用到了一个wx.showToast(object) 这样一个方法。作用是显示提示框。
/* ---page/test/test.wxml----*/
<button bindtap="binToast">toast<button/>
/* ---page/test/test.wxml----*/
|
/* ---page/test/test.js----*/
Page({
binToast:function(){
wx.showToast({
title: '成功',
icon: 'success',
duration: 2000
})
},
})
/* ---page/test/test.js----*/
|
| 参数 | 类型 | 必填 | 说明 |
| title |
String |
是 |
提示的内容 |
| icon |
String |
否 |
图标,只支持"success"、"loading" |
| duration |
Number |
否 |
提示的延迟时间,单位毫秒,默认:1500, 最大为10000 |
| success |
Function |
否 |
接口调用成功的回调函数 |
| fail |
Function |
否 |
接口调用失败的回调函数 |
| complete |
Function |
否 |
接口调用结束的回调函数(调用成功、失败都会执行) |
如果是wxml的写法 那么loading和toast会写两个标签 其实他们使用的方法都是一样的。。所以那种写法很难受。不过js的这种写法很好的解决了这个问题。来看一下loading
二、loading 加载
他用到了一个wx.hideToast()作用是隐藏提示框。我们展示了提示框之后。可以选择什么时候关掉他。。这样就起到了加载的作用。
/* ---page/test/test.wxml----*/
<button bindtap="binLoading">binLoading<button/>
/* ---page/test/test.wxml----*/
|
/* ---page/test/test.js----*/
Page({
binLoading:function(){
wx.showToast({
title: '加载中',
icon: 'loading',
duration: 10000
})
setTimeout(function(){
wx.hideToast()
},2000)
},
})
/* ---page/test/test.js----*/
|
可以看到这个方法。。。虽然给了duration:10000毫秒后自动消失的属性,可是用了一个用setTimeout来控制时间2秒后关闭 toast 。所以时间就不用等10秒那么麻烦了。
其实 可以把setTimeout 换成ajax 取值。这样等异步取值完之后在执行wx.hideToast()那么就形成了一个加载的样子。
三、modal 对话框
| 参数 | 类型 | 必填 | 说明 |
| title |
String |
是 |
提示的标题 |
| content |
String |
是 |
提示的内容 |
| showCancel |
Boolean |
否 |
是否显示取消按钮,默认为 true |
| cancelText |
String |
否 |
取消按钮的文字,默认为"取消",最多 4 个字符 |
| cancelColor |
HexColor |
否 |
取消按钮的文字颜色,默认为"#000000" |
| confirmText |
String |
否 |
确定按钮的文字,默认为"确定",最多 4 个字符 |
| confirmColor |
HexColor |
否 |
确定按钮的文字颜色,默认为"#3CC51F" |
| success |
Function |
否 |
接口调用成功的回调函数,返回res.confirm为true时,表示用户点击确定按钮 |
| fail |
Function |
否 |
接口调用失败的回调函数 |
| complete |
Function |
否 |
接口调用结束的回调函数(调用成功、失败都会执行) |
/* ---page/test/test.wxml----*/
<button bindtap="bindModal">Modal<button/>
/* ---page/test/test.wxml----*/
|
/* ---page/test/test.js----*/
Page({
bindModal:function(){
wx.showModal({
title: '提示',
content: '这是一个模态弹窗',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定')
}
}
})
},
})
/* ---page/test/test.js----*/
|
需要注意的就是success毁掉函数的 res.confirm了 当为true的时候 则表示用户点击了确定。
四、action-sheet 操作菜单
| 参数 | 类型 | 必填 | 说明 |
| itemList |
String Array |
是 |
按钮的文字数组,数组长度最大为6个 |
| itemColor |
HexColor |
否 |
按钮的文字颜色,默认为"#000000" |
| success |
Function |
否 |
接口调用成功的回调函数,详见返回参数说明 |
| fail |
Function |
否 |
接口调用失败的回调函数 |
| complete |
Function |
否 |
接口调用结束的回调函数(调用成功、失败都会执行) |
/* ---page/test/test.wxml----*/
<button bindtap="bindActionSheet">ActionSheet<button/>
/* ---page/test/test.wxml----*/
|
/* ---page/test/test.js----*/
Page({
bindActionSheet:function(){
wx.showActionSheet({
itemList: ['A', 'B', 'C'],
success: function(res) {
if (!res.cancel) {
console.log(res.tapIndex)
}
}
})
},
})
/* ---page/test/test.js----*/
|
这里则跟wxml完全不一样 。这里则是利用res.tapIndex 来获取 用户选的是那个选项。而且也不用像wxml那么麻烦每次还要手动去隐藏。。不过看需求。有利也有弊。