⼩程序开发之toast等弹框提⽰使⽤教程介绍
⼩程序中toast消息提⽰框只有两种显⽰的效果,就是成功和加载,使⽤wx.showToast(OBJECT) 。
看下有关参数说明:
代码很简单:
wx.showToast({
title: '成功',
icon: 'succes',
duration: 1000,
mask:true
})
mask属性好像并没有起作⽤。有⼀点值得注意的是提⽰的延迟时间是有限制的,最⼤10000毫秒。
还有⼀个函数是wx.hideToast() ,这个是隐藏toast,主要⽤于显⽰加载提⽰的时候⽤到,如:
wx.showToast({
title: '加载中',
icon: 'loading',
duration: 10000
})
setTimeout(function(){
wx.hideToast()
},2000)
本来加载时间是10000毫秒的,然后2000毫秒的时候就隐藏了,这个具体情况⽽定了哈。
第⼆个弹窗是模态弹窗:wx.showModal(OBJECT)
参数如下:
这个跟我们Android⾥⾯的Dialog相似,效果如下:
代码如下:
wx.showModal({
title: '提⽰',
content: '模态弹窗',
success: function (res) {
if (firm) {
console.log('⽤户点击确定')
}else{
console.log('⽤户点击取消')
}
}
})
最后⼀个是操作菜单:wx.showActionSheet(OBJECT)
这个函数我们在⽤过,这⾥说⼀下也⽆妨。
先看⼀下参数介绍:
success有⼀个返回参数:
这⾥直接贴官⽅实例了:
wx.showActionSheet({
itemList: ['A', 'B', 'C'],
success: function(res) {
console.log(res.tapIndex)
},
fail: function(res) {
console.Msg)
}
})
效果图:
这⾥有个⼩问题,弹出showActionSheet之后,点击取消或者阴影处,会执⾏完fail之后,继续执⾏success函数,当然了,这⾥肯定有办法解决的,success其实有两个返回参数,除了tapIndex之外,还有⼀个就是cancle,cancle就是是否取消,返回⼀个boolean,在弹出这个框之后在success⾥⾯做个判断,if (!res.cancel) {做不取消的操作就⾏了}。当然了,你也可以⾃⼰来定义。
下⾯看个⾃定义弹窗的:
wxml:
<view class="commodity_screen" bindtap="hideModal" wx:if="{{showModalStatus}}"></view>
<view animation="{{animationData}}" class="commodity_attr_box" wx:if="{{showModalStatus}}" bindtap="navigate">
<text class="title">{{title}}</text>
</view>
css:
modity_screen {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #000;
opacity: 0.2;
overflow: hidden;
z-index: 1000;
color: #fff;
}
modity_attr_box {
width: 100%;
overflow: hidden;
position: fixed;
bottom: 0;
html animation属性left: 0;
z-index: 2000;
height: 60px;
background: #fff;
}
.title {
height: 100%;
width: 100%;
position: fixed;
text-align: center;
margin-top: 20px;
margin-bottom: 20px;
}
js:
showView() {
// 显⽰遮罩层
var animation = wx.createAnimation({
duration: 200,
timingFunction: "linear",
delay: 0
})
this.animation = animation
this.setData({
animationData: port(),
showModalStatus: true
})
setTimeout(function () {
this.setData({
animationData: port()
})
}.bind(this), 200)
},
hideModal: function () {
this.hideView();
},
hideView() {
// 隐藏遮罩层
var animation = wx.createAnimation({
duration: 200,
timingFunction: "linear",
delay: 0
})
this.animation = animation
this.setData({
animationData: port(),
})
setTimeout(function () {
this.setData({
animationData: port(),
showModalStatus: false
})
}.bind(this), 200)
}
启⽤动画来做,效果杠杠的,⾃⼰动⼿来试试。
也可以使⽤action-sheet来布局,如下:
<action-sheet hidden="{{actionSheetHidden}}" bindchange="actionSheetChange">
<block wx:for-items="{{actionSheetItems}}">
<action-sheet-item class="item" bindtap="bind{{item}}">{{item}}</action-sheet-item>
</block>
<action-sheet-cancel class="cancel">取消</action-sheet-cancel>
</action-sheet>
Page({
data: {
actionSheetHidden: true,
actionSheetItems: items
},
actionSheetTap: function(e) {
this.setData({
actionSheetHidden: !this.data.actionSheetHidden
})
},
actionSheetChange: function(e) {
this.setData({
actionSheetHidden: !this.data.actionSheetHidden
})
}
}
})
就是这么简单,赶紧动起来试试吧。
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论