• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序列表渲染(遍历)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

列表渲染(遍历)

  在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item。

<!--logs.wxml-->
<view class="log-list">

    <view class="arr">
        <text>遍历数组对象:</text>
        <view wx:for=\'{{items}}\' wx:key="index">
            {{index}}:{{item.name}}
        </view>
    </view>
    <view class="number">
        <text>遍历数字:</text>
        <view wx:for="{{10}}" wx:key="index">
            {{index}}:{{item}}
        </view>
    </view>
    <view class="object">
        <text>遍历对象:</text>
        <view wx:for="{{object}}" wx:key="index">
            {{index}}:{{item}}
        </view>
    </view>
    <view class="double">
        <text>双层for循环</text>
        <view wx:for="{{items}}" wx:key="index">
            {{item.name}}
            <view wx:for=\'{{item.name}}\' wx:for-item=\'items\' wx:for-index=\'indexs\' wx:key="indexs">
                {{indexs}}:{{items}}
            </view>
        </view>
    </view>
</view>

对应log.js

// logs.js
const util = require(\'../../utils/util.js\')

Page({
  data: {
    items: [
      {value: \'first\', name: "局势已无法挽回"},
      {value: \'second\', name: "人民有信仰,国家有力量,民族有希望"},
      {value: \'third\', name: "快出残影"},
    ],
    object:{
      value: \'first\', 
      name: "局势已无法挽回",
      number:3
    }
  },
  onLoad() {
    
  }
})

Key

  如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 <input/> 中的输入内容, <switch/> 的选中状态),需要使用 wx:key 来指定列表中项目的唯一的标识符。

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

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

当数据改变触发渲染层重新渲染的时候,会校正带有 key 的组件,框架会确保他们被重新排序,而不是重新创建,以确保使组件保持自身的状态,并且提高列表渲染时的效率。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序 js中遍历list - 肥冬瓜发布时间:2022-07-18
下一篇:
小程序数组操作之删除发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap