W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
解釋:顯示消息提示框,用以提供成功、警告和錯(cuò)誤等反饋信息。設(shè)計(jì)文檔詳見(jiàn) 消息提示框。
Object object
屬性名 | 類型 | 必填 | 默認(rèn)值 | 說(shuō)明 |
---|---|---|---|---|
title |
String |
是 |
提示的內(nèi)容 |
|
icon |
String |
否 |
success |
圖標(biāo),有效值 |
image |
String |
否 |
自定義圖標(biāo)的本地路徑,image 的優(yōu)先級(jí)高于 icon |
|
duration |
Number |
否 |
2000 |
提示的延遲時(shí)間,單位毫秒。 |
success |
Function |
否 |
接口調(diào)用成功的回調(diào)函數(shù) |
|
fail |
Function |
否 |
接口調(diào)用失敗的回調(diào)函數(shù) |
|
complete |
Function |
否 |
接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
|
mask |
Boolean |
否 |
false |
是否顯示透明蒙層,防止觸摸穿透。 |
有效值 | 說(shuō)明 |
---|---|
success |
顯示成功圖標(biāo),此時(shí) title 文本最多顯示 7 個(gè)漢字長(zhǎng)度。默認(rèn)值 |
loading |
顯示加載圖標(biāo),此時(shí) title 文本最多顯示 7 個(gè)漢字長(zhǎng)度。 |
none |
不顯示圖標(biāo),此時(shí) title 文本最多可顯示兩行。 |
代碼示例 1 - 默認(rèn)樣式
<view class="card-area">
<view class="top-description border-bottom">默認(rèn)樣式</view>
<button bindtap="showToast" type="primary" hover-stop-propagation="true">默認(rèn)toast</button>
</view>
Page({
showToast() {
swan.showToast({
title: '默認(rèn)toast',
mask: false,
success: res => {
this.setData({'disabled': false});
},
fail: err => {
console.log('showToast fail', err);
}
});
}
});
設(shè)計(jì)指南
默認(rèn)消息提示框自帶“Success”圖標(biāo),建議在正向提示場(chǎng)景應(yīng)用,如“XX 成功”,“XX 完成”,并對(duì)反饋內(nèi)容精簡(jiǎn)表達(dá)。
錯(cuò)誤
圖標(biāo)與反饋的內(nèi)容不符合。
錯(cuò)誤
反饋內(nèi)容過(guò)長(zhǎng)會(huì)顯示不全。
代碼示例 2 - 無(wú)圖標(biāo) toast
<view class="card-area">
<view class="top-description border-bottom">
<view>設(shè)置不顯示圖標(biāo)</view>
<view>icon: 'none'</view>
</view>
<button bindtap="showToastIcon" type="primary" hover-stop-propagation="true">無(wú)圖標(biāo)toast</button>
</view>
Page({
showToastIcon() {
swan.showToast({
title: '單行最多十四個(gè)文字單行最多十四個(gè)文字',
icon: 'none',
mask: false,
success: res => {
this.setData({'disabled': false});
},
fail: err => {
console.log('showToast fail', err);
}
});
}
});
設(shè)計(jì)指南
無(wú)圖標(biāo)的消息提示框最多可顯示雙行 28 個(gè)字,需 措辭 精簡(jiǎn),并根據(jù)反饋內(nèi)容設(shè)置合理的折行位置。
正確
在“同步成功”處設(shè)置折行,閱讀體驗(yàn)更佳。
錯(cuò)誤
行業(yè)術(shù)語(yǔ)、技術(shù)代碼均無(wú)法交代清楚原因,應(yīng)轉(zhuǎn)化為用戶語(yǔ)言。
錯(cuò)誤
表述模糊冗余,且過(guò)長(zhǎng)文案顯示不完整。
代碼示例 3 - 顯示 loading 圖標(biāo)
<view class="card-area">
<view class="top-description border-bottom">
<view>設(shè)置顯示loading圖標(biāo)</view>
<view>icon: 'loading'</view>
</view>
<button bindtap="showToastLoading" type="primary" hover-stop-propagation="true">loading toast</button>
</view>
Page({
showToastLoading() {
swan.showToast({
title: '正在加載...',
icon: 'loading',
mask: false,
success: res => {
this.setData({'disabled': false});
},
fail: err => {
console.log('showToast fail', err);
}
});
}
});
代碼示例 4 - 延遲 5000 毫秒的 toast
<view class="card-area">
<view class="top-description border-bottom">
<view>設(shè)置延遲時(shí)間</view>
<view>duration: 5000</view>
</view>
<button bindtap="showToastDuration" type="primary" hover-stop-propagation="true">延遲5000毫秒的toast</button>
</view>
Page({
showToastDuration() {
swan.showToast({
duration: 5000,
title: '5000毫秒后隱藏',
icon: 'none',
mask: false,
success: res => {
this.setData({'disabled': false});
},
fail: err => {
console.log('showToast fail', err);
}
});
}
});
代碼示例 5 - 隱藏 toast
<view class="card-area">
<view class="top-description border-bottom">隱藏toast</view>
<button bindtap="hideToast" type="primary" disabled="{{disabled}}" hover-stop-propagation="true">隱藏toast</button>
</view>
Page({
hideToast() {
swan.hideToast();
}
});
參考示例 1 - 開(kāi)發(fā)者可自定義 showToast 樣式
<view class="wrap">
<button type="primary" bindtap="clickbtn"> 點(diǎn)擊 </button>
<view animation="{{animationData}}" class="toast-view" s-if="{{showModalStatus}}">
要顯示的內(nèi)容
</view>
</view>
Page({
data: {
animationData: "",
showModalStatus: false
},
showModal() {
let animation = swan.createAnimation({
duration: 200,
timingFunction: 'linear',
delay: 0
});
animation.translateY(200).step();
this.setData({
animationData: animation.export(),
showModalStatus: true
})
setTimeout(()=> {
animation.translateY(0).step()
this.setData({
animationData: animation.export()
})
}, 200)
setTimeout(()=> {
if(this.data.showModalStatus){
this.hideModal();
}
}, 3000)
},
clickbtn() {
if(this.data.showModalStatus){
this.hideModal();
}
else {
this.showModal();
}
},
hideModal() {
this.setData({
showModalStatus: false
})
}
})
參考示例 2 - showModal 和 showToast 是否可共存
<view class="wrap">
<view class="card-area">
<view class="top-description border-bottom">showModal和showToast可共存</view>
<button bindtap="showToast" type="primary" hover-stop-propagation="true">點(diǎn)擊彈出toast</button>
<button bindtap="showModal" type="primary">點(diǎn)擊彈出modal</button>
</view>
</view>
Page({
showToast() {
swan.showToast({
title: 'title',
icon: 'none',
mask: false, // 此屬性設(shè)置為false
success: res => {
console.log('showToast success', res);
},
fail: err => {
console.log('showToast fail', err);
}
})
},
showModal() {
swan.showModal({
title: 'title',
content: 'content'
});
}
});
錯(cuò)誤碼 | 說(shuō)明 |
---|---|
202 | 解析失敗,請(qǐng)檢查參數(shù)是否正確 |
302 | 找不到調(diào)起協(xié)議對(duì)應(yīng)端能力方法 |
錯(cuò)誤碼 | 說(shuō)明 |
---|---|
202 | 解析失敗,請(qǐng)檢查參數(shù)是否正確 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: