W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
解釋: 頁面狀態(tài)組件,可用于全屏和半屏。用于展示頁面加載,頁面異常-有操作、頁面異常-無操作三種頁面狀態(tài)。設(shè)計(jì)文檔詳見 空態(tài) 。
屬性名 | 類型 | 必填 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
theme | String | 否 | 主題配置,默認(rèn)淺色;沉浸式主題請(qǐng)指定 dark | |
loading | Boolean | 否 | false | 頁面狀態(tài)配置,默認(rèn)不展示加載狀態(tài)頁面 |
icon | String | 否 | content | 空態(tài)/缺省頁面下的圖標(biāo)名稱 |
loadingTitle | String | 否 | 正在加載... | 加載頁面下的標(biāo)題文案 |
title | String | 否 | 單行標(biāo)題 | 空態(tài)/缺省頁面下的標(biāo)題文案 |
desc | String | 否 | 空態(tài)/異常頁面下的描述文案,最多展示 40 個(gè)字,超出內(nèi)容會(huì)被截?cái)?/td> | |
showBtn | Boolean | 否 | true | 是否展示空態(tài)/缺省頁面下的操作按鈕,默認(rèn)展示 |
btnText | String | 否 | 重新加載 | 空態(tài)/缺省頁面下,操作按鈕的描述文案,最多顯示 8 個(gè)漢字,超出內(nèi)容會(huì)被截?cái)?/td> |
<view class="wrap {{theme}}">
<view class="card-panel" s-for="item,index in pageList">
<view class="mode-title">
<view class="mode-title-line-left"></view>
<view class="mode-title-text">{{item.titleBar}}</view>
<view class="mode-title-line-right"></view>
</view>
<view class="smt-card-area">
<smt-page-status
class="area-content"
loading="{{item.loading}}"
theme="{{theme}}"
icon="{{item.icon}}"
data-index="{{index}}"
bind:smtreloading="reloading"
title="{{item.title}}"
desc="{{item.desc}}"
showBtn="{{item.showBtn}}"
btnText="{{item.btnText}}">
</smt-page-status>
</view>
</view>
<view class="smt-card-config">
<view class="item-scroll border-bottom">
<text class="switch-text switch-text-before">沉浸式主題</text>
<switch color="{{theme ==='dark' ? '#f5f5f5' : '#ddd'}}" class="init-switch" disabled="false" bind:change="changeTheme"></switch>
</view>
</view>
<view class="smt-card-config">
<view class="item-scroll" bindtap="navigateTo" hover-class="page-status-hover" hover-stay-time="240">
<text class="switch-text switch-text-before">查看頁面模板</text>
<image class="item-logo" src="https://b.bdstatic.com/miniapp/images/extensions/right_arrow.png" rel="external nofollow" ></image>
</view>
</view>
</view>
Page({
data: {
theme: '',
pageList: [
{
titleBar: '頁面加載',
loading: true
},
{
titleBar: '頁面異常-有操作',
loading: false,
icon: 'wifi',
title: '網(wǎng)絡(luò)不給力,請(qǐng)稍后重試',
btnText: '重新加載',
event: 'reloading'
},
{
titleBar: '頁面異常-無操作',
loading: false,
title: '暫無內(nèi)容',
showBtn: false,
desc: '沒有相關(guān)內(nèi)容,先看看別的吧'
}
]
},
navigateTo() {
swan.navigateTo({url: '/extensions/component/smt-status-page/smt-status-page'});
},
changeTheme(e) {
const checked = e.detail.checked;
this.setData({
theme: checked ? 'dark' : ''
});
swan.nextTick(() => {
swan.setBackgroundColor({
backgroundColor: checked ? '#3670c2' : '#f5f5f5'
});
});
},
reloading(e) {
let index = e.currentTarget.dataset.index;
this.setData(`pageList[${index}].loading`, true);
setTimeout(() => {
this.setData(`pageList[${index}].loading`, false);
}, 3000);
}
});
{
"navigationBarTitleText": "頁面狀態(tài)",
"navigationStyle": "default",
"usingComponents": {
"smt-page-status" : "@smt-ui/component/src/page-status"
}
}
.wrap {
padding-top: .2rem;
background: #f5f5f5;
}
.wrap .smt-card-area {
margin: 25.362rpx 0 72.464rpx;
background: #fff;
}
.wrap .area-content {
height: 635.87rpx;
}
.wrap .init-switch {
vertical-align: middle;
margin: 28.986rpx 0;
}
.wrap .switch-text-before {
margin-top: 38.043rpx;
font-size: 28.986rpx;
color: #333;
}
.wrap .smt-card-config {
background: #fff;
overflow: hidden;
}
.smt-card-config .item-scroll {
display: flex;
width: 100%;
justify-content: space-between;
}
.wrap .item-logo {
display: inline-block;
width: 32.609rpx;
height: 32.609rpx;
margin: 34.005rpx 0;
}
.page-status-hover {
opacity: .2;
}
.wrap.dark {
background-color: #3670c2;
}
.wrap.dark .smt-card-config {
background-color: #4985da;
}
.wrap.dark .switch-text-before {
color: #fff;
background: #4985da;
}
.wrap.dark .mode-title-line-left {
background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
opacity: .3;
}
.wrap.dark .mode-title-line-right {
background-image: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
opacity: .3;
}
.wrap.dark .mode-title-text {
color: #fff;
}
.wrap.dark .border-bottom:after {
transform: scaleY(.5);
background: #73a5eb;
}
.wrap.dark .theme {
color: #fff;
background-color: #4985da;
}
.wrap.dark .swan-switch-input:after {
background: #38f;
}
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)系方式:
更多建議: