小程序数组部分setData

点击事件

复制代码
 cellItemTap(e){

      let outidx = e.currentTarget.dataset.outidx
      let idx = e.currentTarget.dataset.idx

      if(this.data.activeIdxs[outidx] != idx){
        // 部分setData
        const state = "activeIdxs["+outidx+"]"
        this.setData({
          [state]:idx
        })
      }
    },
复制代码

属性:

 data: {
    activeIdxs:[0,0,0,0,0]
  },

 参考:

https://blog.csdn.net/u011473130/article/details/106022413

 

补充一个复杂一点的例子:

复制代码
textSectionTap(e){
    //部分刷新  数据
    console.log(e)
    let item = e.currentTarget.dataset.item
    if(item.textFold) { // 超过四行, textFold  1:展开  2:收起  0:少于4行
      item.textFold = item.textFold == 2 ? 1 : 2

      let outidx = e.currentTarget.dataset.outidx
      let idx = e.currentTarget.dataset.idx

      const state = "list[" + outidx + "].item[" + idx + ']'
      this.setData({
        [state]:item
      })
    }

  },
复制代码

属性:list

文件:pages/detail/detail   升学规划小程序

 

posted on   土匪7  阅读(38)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2018-06-14 Runloop, 多线程
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示