微信小程序根据步骤渲染数组中的不同内容

本文介绍了如何在小程序中处理后端传来的数组数据,通过WXML和JS实现不同状态下的页面渲染。作者遇到的问题是需要根据数组的不同元素分别展示在不同的页面步骒中,通过wx:if和额外的辅助变量id1实现了这一目标。当点击"下一步"按钮时,id1递增,从而切换显示不同步骤的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在写一个有关步骤的page时,目的是每一步有不同的页面,我遇到了这样一个问题:从后端传出的是数组形式的,利用console.log打印如图:

data: Array(2)
0: {id: 1, step: "1.请同学首先用快捷键win+R调出运行命令框,输入cmd,点击确定,会弹出DOS窗口。", picture: "C:\miniprogram0814\step_1.jpg", other: null}
1: {id: 2, step: "2.ping命令的应用格式:①ping+IP地址或主机域名", picture: null, other: null}
length: 2
nv_length: (...)

我的目标是根据不同的状态项渲染出不同的结果

 

但是如果只有一个wx:if并不能达到目的,因此我又引入了另一个变量id1作为辅助,并完成了目标:

wxml如下:

<block wx:for="{{thingList}}" wx:key="index" wx:if="{{id1 == 1}}" >
<text wx:if="{{index == 0}}" >{{item.step}}</text>
</block>

<block wx:for="{{thingList}}" wx:key="index" wx:if="{{id1 == 2}}">
<text wx:if="{{index == 1}}" >{{item.step}}</text>
</block>

 js如下:

numSteps绑定了确定函数:

<button bindtap="numSteps" size="large">下一步</button>
numSteps() {
    this.setData({
      id1: this.data.id1+1
    })
  },
data: {
    id1:1,
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值