微信小程序:for..in里用if..else导致不能for循环的问题

图片描述
请求接口,获得一个对象数组,将res.data里的数据push到result数组里图片描述
有四种状态,根据状态type不同来判断需要显示的数据,但是我将if判断写在了for..in里就会出现数据不循环的情况,所有我用了forEach()的方法,forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数,在回调函数里进行判断,将判断的属性和属性值写进对象里,然后在wxml里通过wx:if=''来进行判断。图片描述
图片描述

js:
page({
    result:[],
    cancleBtn :true,//默认为true
    get(){
        utils.askData('get', url, '', (res) => {//请求接口,res.data是个数组,将res.data里的数据push到result里
          for (let key in res.data) {
                result.push(res.data[key]);
            //if(res.data[key].type == "1"){
            //this.setData({
             //   cancleBtn :'true',
           // })
           // }else{
             //this.setData({
             //   cancleBtn :'false',
           // })
          // }
          }
          //可以循环
        result.forEach(function(v){//将是否显示写入result数组里
        if(v.type=="1")
        { v.cancleBtn = true;}
        if (v.type== "3"){
          v.cancleBtn = false;
        }
        }, '');
    }
    });

wxml:
<view wx:for="{{result}}" wx:key="{{index}}">
    <view wx:if="{{item.cancleBtn}}"></view>
</view>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值