收藏
回答

ios11.4.1兼容排序问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug wx:for 客户端 iOS 6.7.1 2.2.3

ios11.4.1在预览模式和调试模式上。列表渲染不一样。 且上线后数组最后一项显示在第一项了



正常的排序



ios11.4.1手机上失效商品排第一个了。 这是什么原因呢


最后一次编辑于  2018-08-17  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • HS
    HS
    2018-08-17

    您是指渲染出来的顺序不是您的数组顺序吗?确认一下数组的顺序是否符合预期?

    2018-08-17
    赞同
    回复 5
    • 祥西
      祥西
      2018-08-17

      其他手机上都是正确的排序,模拟器上也是正确的,目前测试多个手机就发现ios11.4.1(一个ipone8,一个iphoneX)排序不正确

      2018-08-17
      回复
    • HS
      HS
      2018-08-17回复祥西

      这里是否是 wx.request 得到的数据进行展示?尝试一下对得到的列表手动 sort() 再 setData 呢

      2018-08-17
      回复
    • 祥西
      祥西
      2018-08-17回复HS

         // 数组头尾分别加上赠品和失效组    cartData.giftList && arrTemp1.unshift(cartData.giftList);    cartData.noStocklst && arrTemp1.push({      'type': 'sx',      items: cartData.noStocklst    });    arrTemp1.sort((a, b) => {      return a.order > b.order;    });    let listsRank=[];    for (let i = 0; i < arrTemp1.length; i++) {      arrTemp1[i].index = i;      if (_this.render(arrTemp1[i])){              listsRank.push(_this.render(arrTemp1[i]))      }          }    this.setData({      listsRank: listsRank    });

      2018-08-17
      回复
    • 祥西
      祥西
      2018-08-17回复HS

      已经排序过了,然后再调用方法判断是否存在,存在的话,往里面添加几个对应的属性,然后push进去的

      2018-08-17
      回复
    • 祥西
      祥西
      2018-08-17回复HS

      哦哦,我调试出来了。有一项没有order属性,ios11.4.1可能处理的兼容与其他手机处理方式不一样,造成了排序表现不一样。

      2018-08-17
      回复