微信小程序開發(fā)之toast等彈框提示使用教程
介紹
微信小程序中toast消息提示框只有兩種顯示的效果,就是成功和加載,使用wx.showToast(OBJECT)
。
看下有關(guān)參數(shù)說明:
代碼很簡單:
wx.showToast({ title: '成功', icon: 'succes', duration: 1000, mask:true })
mask屬性好像并沒有起作用。有一點值得注意的是提示的延遲時間是有限制的,最大10000毫秒。
還有一個函數(shù)是wx.hideToast()
,這個是隱藏toast,主要用于顯示加載提示的時候用到,如:
wx.showToast({ title: '加載中', icon: 'loading', duration: 10000 }) setTimeout(function(){ wx.hideToast() },2000)
本來加載時間是10000毫秒的,然后2000毫秒的時候就隱藏了,這個具體情況而定了哈。
第二個彈窗是模態(tài)彈窗:wx.showModal(OBJECT)
參數(shù)如下:
這個跟我們Android里面的Dialog相似,效果如下:
代碼如下:
wx.showModal({ title: '提示', content: '模態(tài)彈窗', success: function (res) { if (res.confirm) { console.log('用戶點擊確定') }else{ console.log('用戶點擊取消') } } })
最后一個是操作菜單:wx.showActionSheet(OBJECT)
這個函數(shù)我們在上一篇文章用過,這里說一下也無妨。
先看一下參數(shù)介紹:
success有一個返回參數(shù):
這里直接貼官方實例了:
wx.showActionSheet({ itemList: ['A', 'B', 'C'], success: function(res) { console.log(res.tapIndex) }, fail: function(res) { console.log(res.errMsg) } })
效果圖:
這里有個小問題,彈出showActionSheet之后,點擊取消或者陰影處,會執(zhí)行完fail之后,繼續(xù)執(zhí)行success函數(shù),當然了,這里肯定有辦法解決的,success其實有兩個返回參數(shù),除了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:
.commodity_screen { width: 100%; height: 100%; position: fixed; top: 0; left: 0; background: #000; opacity: 0.2; overflow: hidden; z-index: 1000; color: #fff; } .commodity_attr_box { width: 100%; overflow: hidden; position: fixed; bottom: 0; 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 animation.translateY(300).step() this.setData({ animationData: animation.export(), showModalStatus: true }) setTimeout(function () { animation.translateY(0).step() this.setData({ animationData: animation.export() }) }.bind(this), 200) }, hideModal: function () { this.hideView(); }, hideView() { // 隱藏遮罩層 var animation = wx.createAnimation({ duration: 200, timingFunction: "linear", delay: 0 }) this.animation = animation animation.translateY(300).step() this.setData({ animationData: animation.export(), }) setTimeout(function () { animation.translateY(0).step() this.setData({ animationData: animation.export(), 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 }) } } })
就是這么簡單,趕緊動起來試試吧。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
利用JavaScript將Excel轉(zhuǎn)換為JSON示例代碼
這篇文章主要給大家介紹了關(guān)于利用JavaScript將Excel轉(zhuǎn)換為JSON的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用JavaScript具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-06-06