微信小程序开发之——列表渲染-wxfor

本文详细介绍了如何在微信小程序中使用wx:for渲染列表,包括view和block的基本用法,以及如何通过wx:for-index和wx:for-item定制变量名。重点讲解了在动态列表和添加唯一标识符时使用wx:key的重要性。
摘要由CSDN通过智能技术生成

一 概述

  • wx:for可以用在view上,也可以用在block
  • 在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件
  • 默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item
  • 使用 wx:for-item 可以指定数组当前元素的变量名,使用 wx:for-index 可以指定数组当前下标的变量名
  • 如果列表中项目的位置会动态改变或者有新的项目添加到列表中,需要使用 wx:key 来指定列表中项目的唯一的标识符

二 wx:for渲染列表

2.1 用在view上

页面中wx:for使用
<view wx:for="{{array}}">
  {{index}}: {{item.message}}
</view>

说明:

  • 默认数组的当前项的下标变量名默认为 index
  • 数组当前项的变量名默认为 item
逻辑文件中设置数组array数据
data: {
    array: [{message: 'foo'},{message: 'bar'}]
 }
效果图

2.2 用在block上

布局文件中代码
<block wx:for="{{[1, 2, 3]}}">
  <view> {{index}}: </view>
  <view> {{item}} </view>
</block>
效果图

三 wx:for使用时,wx:for-index指定下标和wx:for-item指定变量名

3.1 代码文件

<view wx:for="{{['a','r','r','a','y']}}" wx:for-index="idx" wx:for-item="itemName">
{{idx}}:{{itemName}}
</view>

3.2 效果图

四 动态列表时,使用wx:key

4.1 wx:key 的值以两种形式提供

  • 字符串,代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。
  • 保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字

4.2 示例

布局文件
<view wx:for="{{numberArray}}" wx:key="*this" style="display: block;">
  <view>{{item}}</view>
</view>
<button type="default" bindtap="addNum">点击</button>
逻辑文件
Page({
  data: {
    numberArray:[0]
  },
  addNum(){
    var arrays=this.data.numberArray
    var newNum=arrays[arrays.length-1]+1
    arrays.push(newNum)
    this.setData({
      numberArray: arrays
    })
  }
})
效果图

五 参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值