收藏
回答

页面中循环 if判断过后wx:for-index 索引不会根据现有内容重置

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 需求 工具 7.0.4 2.7.4


回答关注问题邀请回答
收藏

2 个回答

  • LastLeaf
    LastLeaf
    2019-07-30

    没明白是个什么问题。

    不过这里 wx:key 应改写成 wx:key="id" 。

    2019-07-30
    有用
    回复 4
    • 卢霄霄
      卢霄霄
      2019-07-30
      大概是 列表里 1 2 3 4 这4个元素,然后wx:if会过滤掉2,但是得到的index仍然是 0 ,2, 3。
      2019-07-30
      回复
    • LastLeaf
      LastLeaf
      2019-07-30回复卢霄霄
      对。for 优先于 if 。
      2019-07-30
      回复
    • Rai呗特
      Rai呗特
      2019-07-30回复卢霄霄
      解决了,疯狂重组数据/哭笑
      2019-07-30
      回复
    • 卢霄霄
      卢霄霄
      2019-07-30回复Rai呗特
      解决了就好~
      2019-07-30
      回复
  • 卢霄霄
    卢霄霄
    2019-07-30

    有可能是因为和vue一样的逻辑,wx:for 优先级高于wx:if。。

    2019-07-30
    有用
    回复 5
    • Rai呗特
      Rai呗特
      2019-07-30
      嗯,因为不能用到循环出来的item还要先判断,主要这个问题没办法在页面中解决啊
      2019-07-30
      回复
    • 卢霄霄
      卢霄霄
      2019-07-30回复Rai呗特
      好像确实不太好在 wxml里处理。。还是在js里直接Array的filter过滤吧
      2019-07-30
      回复
    • 卢霄霄
      卢霄霄
      2019-07-30回复Rai呗特
      不过这个index你要拿去做啥呢?如果是去数组里取的话,这样拿到的比较正常啊
      2019-07-30
      回复
    • Rai呗特
      Rai呗特
      2019-07-30回复卢霄霄
      排名里面要前三面的头衔图片
      2019-07-30
      回复
    • 卢霄霄
      卢霄霄
      2019-07-30回复Rai呗特
      那能不能正常排了之后 wx:if="{{index<3}}"
      2019-07-30
      回复
登录 后发表内容