W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
列表將數(shù)據(jù)呈現(xiàn)為可以分為平鋪和分組形式。使用列表以清單的形式干凈,高效地顯示大量或少量信息。一般來說,列表是基于文本內(nèi)容的理想選擇,也可以在列表中加入圖標(biāo)、按鈕、箭頭等其他元素擴展場景。
<view class="dyt-list"
style="position: relative;">
<scroll-view style="height: 100vh;"
scroll-y onScrollToLower="onScrollToLower"
enable-back-to-top="true">
<list>
<view slot="header">
列表頭部
</view>
<block a:for="{{items}}">
<list-item a:if="{{item.actionType==='switch'}}"
thumb="{{thumbUrl}}"
index="{{index}}"
onClick="onSwitchClick"
key="items-{{index}}"
lineTouchable="{{item.lineTouchable}}"
briefx="簡要信息"
upperSubtitle="{{item.brief}}"
last="{{index === (items.length - 1)}}">
{{item.title}}
<am-switch slot="extra" checked="{{changeSwitch}}"/>
</list-item>
<list-item a:elif="{{item.actionType ==='check'}}"
thumb="{{thumbUrl}}"
index="{{index}}"
onClick="onCheckClick"
key="items-{{index}}"
last="{{index === (items.length - 1)}}">
{{item.title}}
<am-radio slot="extra" checked="{{changeCheckbox}}"/>
</list-item>
<list-item a:elif="{{item.actionType ==='capsule'}}"
thumb="{{thumbUrl}}"
index="{{index}}"
onClick="onCapsuleClick"
capsuleContent="{{item.capsuleContent}}"
key="items-{{index}}"
last="{{index === (items.length - 1)}}">
{{item.title}}
<button slot="extra" type="ghost" shape="capsule">膠囊按鈕</button>
</list-item>
<list-item a:else thumbx="{{thumb}}"
arrow="{{item.arrow}}"
align="{{item.align}}"
index="{{index}}"
onClick="onItemClick"
key="items-{{index}}"
enforceExtra="{{item.enforceExtra}}"
title="{{item.title}}"
titlePosition="middle"
last="{{index === (items.length - 1)}}">
{{item.title}}
<text slot="extra">{{item.extra}}</text>
</list-item>
</block>
<view slot="footer">
列表尾部
</view>
</list>
<list>
<view slot="header">
列表頭部
</view>
<block a:for="{{items2}}">
<list-item thumb="{{item.thumb}}"
arrow="{{item.arrow}}"
onClick="onItemClick"
index="items2-{{index}}"
key="items2-{{index}}"
data-filed="aaa"
title="{{item.title}}"
upperSubtitle="{{item.brief}}"
last="{{index === (items2.length - 1)}}">
{{item.title}}
<view a:if="{{item.extra}}"
slot="extra">
{{item.extra}}
</view>
</list-item>
</block>
<view slot="footer">
列表尾部
</view>
</list>
<list>
<view slot="header">
列表頭部
</view>
<block a:for="{{items3}}">
<list-item thumb="{{item.thumb}}"
arrow="{{item.arrow}}"
index="items3-{{index}}"
onClick="onItemClick"
key="items3-{{index}}"
last="{{index === (items3.length - 1)}}"
upperSubtitle="{{item.brief}}"
multipleLine="{{true}}">
{{item.title}}
<view a:if="{{item.extra}}"
slot="extra">
{{item.extra}}
</view>
</list-item>
</block>
<view slot="footer">
列表尾部
</view>
</list>
<list>
<view slot="header">
列表頭部
</view>
<block a:for="{{items4}}">
<list-item thumb="{{item.thumb}}"
arrow="{{item.arrow}}"
onClick="onItemClick"
index="items4-{{index}}"
last="{{index === (items4.length - 1)}}"
key="items4-{{index}}"
upperSubtitle="{{item.upperSubtitle}}"
lowerSubtitle="{{item.upperSubtitle}}"
titlePosition="{{item.titlePosition}}"
>
{{item.title}}
<view a:if="{{item.extra}}"
slot="extra">
{{item.extra}}
</view>
</list-item>
</block>
<view slot="footer">
列表尾部
</view>
</list>
<list>
<view slot="header">
小圖文列表
</view>
<block a:for="{{itemsThumb}}">
<list-item thumb="{{item.thumb}}"
arrow="{{item.arrow}}"
onClick="onItemClick"
index="itemsThumb-{{index}}"
last="{{index === (itemsThumb.length - 1)}}"
brief="{{item.brief}}"
thumbSize="30"
key="itemsThumb-{{index}}">
{{item.title}}
<view a:if="{{item.extra}}"
slot="extra">
{{item.extra}}
</view>
</list-item>
</block>
</list>
<list>
<view slot="header">
小圖文雙行列表
</view>
<block a:for="{{itemsThumbMultiple}}">
<list-item thumb="{{item.thumb}}"
arrow="{{item.arrow}}"
onClick="onItemClick"
index="items-multiple-{{index}}"
last="{{index === (itemsThumbMultiple.length - 1)}}"
key="items-multiple-{{index}}"
upperSubtitle="{{item.brief}}"
thumbSize="30"
multipleLineX="{{true}}">
{{item.title}}
<view a:if="{{item.extra}}"
slot="extra">
{{item.extra}}
</view>
</list-item>
</block>
</list>
<list loadMore="{{loadMore}}"
loadContent="{{loadContent}}">
<view slot="header">
無限滾動列表
</view>
<block a:for="{{items5}}">
<list-item className="{{item.sticky ? 'am-list-sticky' : ''}}"
thumb="{{item.thumb}}"
thumbSize="30"
arrow="{{item.arrow}}"
align="{{item.align}}"
last="{{index === (items5.length - 1)}}"
index="{{index}}"
key="items5-{{index}}"
onClick="onItemClick"
disabled="{{item.sticky}}"
wrap="{{true}}">
{{item.title}}{{index}}
<view a:if="{{item.extra}}"
slot="extra">
{{item.extra}}
</view>
</list-item>
</block>
</list>
</scroll-view>
</view>
屬性 | 描述 | 類型 | 默認(rèn)值 | 必填 |
---|---|---|---|---|
className | 自定義class。 | String | - | - |
loadMore | 顯示加載更多 item。load:顯示加載更多;over:顯示加載完成無更多。 | String | - | - |
loadContent | 需結(jié)合 loadMore 屬性使用,用于文案展示。 | Array | ['加載更多...','-- 數(shù)據(jù)加載完了 --'] | - |
loadingSize | loading icon 的大小。 | String | 16 px | - |
當(dāng)需要使用無限循環(huán)列表時,可將 list 組件放置入到 scroll-view 中,根據(jù)需求對 scroll-view 添加相對應(yīng)的屬性,比如:
<scroll-view style="height: 80vh;" scroll-y onScrollToLower="onScrollToLower" enable-back-to-top="true">
<list loadMore="{{loadMore}}" loadContent="{{loadContent}}">
<list-item>...</list-item>
</list>
</scroll-view>
Page({
data: {
loadMore: '',
loadContent: [
'馬不停蹄加載更多數(shù)據(jù)中...',
'-- 已經(jīng)到底了,加不了咯 --',
],
},
onScrollToLower() {
// 根據(jù)實際數(shù)據(jù)加載情況設(shè)定 loadMore 的值即可,分別為 load 和 over
this.setData({
loadMore: 'load',
})
},
})
slotName | 說明 |
---|---|
header | 可選,列表頭部。 |
footer | 可選,用于渲染列表尾部。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: