微信小程序wx:for 的使用
在官方文檔上看到wx:for是放在列表渲染里面講的,
由此可以大概知道wx:for主要作用是列表,我們通常說list ,我想著就是相當于android這邊的listview
recyclerview 吧.
看下文檔
有一句非常重要的話
默認數組的當前項的下標變量名默認為?index,數組當前項的變量名默認為?item
如果不想使用默認的可以使用wx:for-item 可以指定數組當前元素的變量名,
比如下面代碼使用的item.××,不使用item也是可以的 wx:for-item需要定義一下然后就可以
替換里面的item了.
手寫一個list試試
xml 代碼如下
<view class='list_main' wx:for="{{list}}">
<view>
<image src='http://pl3g5zt02.bkt.clouddn.com/icon4.jpg' class='img'></image>
</view>
<view class="list_content">
<view>"{{item.content}}"</view>
<view>"{{item.confirm}}"</view>
</view>
</view>
wxss 代碼調整下樣式
.list_main{
display: flex;
flex-direction: row;
margin-top: 100rpx;
}
?
.img{
width: 150rpx;
height: 200rpx;
margin-left: 15rpx;
}
?
.list_content{
display: flex;
flex-direction: column;
justify-content: space-between;
margin-left: 30rpx;
}
?
js里面 填寫數據
/**
* 頁面的初始數據
*/
data: {
list :[
{"content": "世界那么美好,好像出去走走","confirm":"我同意你想法"},
{ "content": "世界那么美好,好像出去走走", "confirm": "我同意你想法" },
{ "content": "世界那么美好,好像出去走走", "confirm": "我同意你想法" },
{ "content": "世界那么美好,好像出去走走", "confirm": "我同意你想法" },
{ "content": "世界那么美好,好像出去走走", "confirm": "我同意你想法" },
{ "content": "世界那么美好,好像出去走走", "confirm": "我同意你想法" }
]
},
運行效果圖
?
但是下面有警告
看文檔
wx:key
如果列表中項目的位置會動態改變或者有新的項目添加到列表中,并且希望列表中的項目保持自己的特征和狀態(如?<input>?中的輸入內容,<switch>?的選中狀態),需要使用?wx:key?來指定列表中項目的唯一的標識符。
wx:key?的值以兩種形式提供
- 字符串,代表在 for 循環的 array 中 item 的某個 property,該 property 的值需要是列表中唯一的字符串或數字,且不能動態改變。
- 保留關鍵字?
*this?代表在 for 循環中的 item 本身,這種表示需要 item 本身是一個唯一的字符串或者數字,如:
當數據改變觸發渲染層重新渲染的時候,會校正帶有 key 的組件,框架會確保他們被重新排序,而不是重新創建,以確保使組件保持自身的狀態,并且提高列表渲染時的效率。
如不提供?wx:key,會報一個?warning, 如果明確知道該列表是靜態,或者不必關注其順序,可以選擇忽略。
我寫這個列表就是靜態的,所有我忽略他了,如果看著不舒服,添加一個wx:key 即可.
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的微信小程序wx:for 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果系统清理什么软件最好?
- 下一篇: java 时间戳 与时间的转换