收藏
回答

小程序遍历二维数组,当修改二维数组成功后,为什么页面不会一起更新?

(mpvue)我在tabbar首页上渲染了一个二维数组



      <swiper

     class="goodsswiper"

        :circular="false"

        :autoplay="false"

        @change='onSlideChangeEnd'

        :current="currentindex"

        :style="{height:swiperHeight+'px'}"

      >

          <swiper-item v-for="(item1,index1) in csArray" :key="index1">

          <div class="list list0">

              <goodsitem v-for="(item,index) in item1.shoplist"  :key="index" :shopitem="item" goodscategory="1"  @toDetailClick="toDetail"/>

          </div>

          </swiper-item>

      </swiper>

第一层遍历没有问题,但是第二层遍历一直无法渲染,shoplist对象上的数据是有的,但是页面一直不会渲染出来,而且当我向csArray下面的shoplist添加数据时,页面也没有什么变化,但是数据是添加成功的。

最后一次编辑于  2021-02-24
回答关注问题邀请回答
收藏

3 个回答

  • 不丶
    不丶
    2022-05-09

    这个问题解决了吗, 我今天也遇到这个问题了, 找不到头绪

    2022-05-09
    有用
    回复
  • 比昂
    比昂
    2021-02-24

    有两个问题 数据添加了是什么意思,页面没变化 goodsitem 这个节点是否有多个

    2021-02-24
    有用
    回复 2
    • 麦华普
      麦华普
      2021-02-24
      数据添加就是下拉加载更多,goodsitem这个节点没有渲染
      2021-02-24
      回复
    • 比昂
      比昂
      2021-02-24回复麦华普
      你要不试试item1[index1].shoplist
      2021-02-24
      回复
  • 今天你归零了嘛
    今天你归零了嘛
    2021-02-24

    能把shoplist的代码发一下吗?,你的示例代码里也没有shoplist对象啊

    2021-02-24
    有用
    回复 4
    • 麦华普
      麦华普
      2021-02-24
      你好,shoplist是csArray数组每一项里面的一个对象,它对应的就是第二层遍历
      2021-02-24
      回复
    • 今天你归零了嘛
      今天你归零了嘛
      2021-02-24回复麦华普
      1. 你使用的是mpvue吗?你在goodsitem组件的生命周期created的时候打印一下shopitem,看看是否有值
      2. 你在shoplist添加数据时,添加的数据没有双向绑定吧,可能他监听不到数据的变化
      2021-02-24
      回复
    • 麦华普
      麦华普
      2021-02-24回复今天你归零了嘛
      我是用mpvue开发的,所以不需要用setdata就直接赋值,我也有想过这个原因,用了this.$set也不行。而且当我跳到其他页面,再跳转回来首页,原本的数据就显示出来了,第一次遇到这种情况,我也觉得很奇怪
      2021-02-24
      回复
    • 今天你归零了嘛
      今天你归零了嘛
      2021-02-24回复麦华普
      我的第一个问题你试了嘛?如果没有值,说明加载组件时还没有拿到shopitem的值,所以你在拿到值之后再加载goodsitem组件
      2021-02-24
      回复
登录 后发表内容
问题标签