收藏
回答

setData能否实现数组顶部插入数据

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 setData 客户端 6.5.3 2.4.0

- 需求的场景描述(希望解决的问题)

现在页面有数据如下:

list:[{0},{1},{2},{3}]

往下拉滚动加载到历史数据如下:

history:[{4},{5},{6},{7}]


需求:

将history拼接到list前面,并且局部刷新(避免由于数据量大,影响渲染性能)

list:[{4},{5},{6},{7},{0},{1},{2},{3}]


- 希望提供的能力

查过api文档,setData目前只能更新某个item或者在尾部增加app数据。

所以,希望能实现数组顶部插入数据。



最后一次编辑于  2018-12-20
回答关注问题邀请回答
收藏

5 个回答

  • 冰
    2020-04-15

    这样就OK了

    2020-04-15
    有用
    回复
  • 马力
    马力
    2019-02-22

    这个问题如何解决的?

    2019-02-22
    有用
    回复
  • Code Weaver
    Code Weaver
    2018-12-20

    写一块隐藏view模块。里面的数据动态加载。然后上拉一屏后把 里面的数据 放到第二个view里,第一个view显示。

    2018-12-20
    有用
    回复 6
    • 2018-12-20

      呃,抱歉,我还是不太理解你的意思,我梳理了下,是说加个隐藏的view1,负责接收数据,然后上拉之后 ,把view1里的数据放到view2,接着,view1显示?

      那再拉一下,然后?

      2018-12-20
      回复
    • Code Weaver
      Code Weaver
      2018-12-21回复

      重复 往view1里塞新数据然后老的view1数据往view2 unshift

      2018-12-21
      回复
    • 2018-12-21回复Code Weaver

      明白了,可能我没描述清楚问题,其实我这需求可以理解为聊天里的查看历史聊天消息,然后按照兄弟你这思路,unshift完之后 页面刷新还是要通过setData刷新整个list的吧

      2018-12-21
      回复
    • Code Weaver
      Code Weaver
      2018-12-21回复

      是刷新 view2的数据。但是view1是新push进去的。

      2018-12-21
      回复
    • 2018-12-21回复Code Weaver

      大佬有空的话能否简单写个demo看看哩?【懵逼.jpg】

      2018-12-21
      回复
    查看更多(1)
  • 赵青山
    赵青山
    2018-12-20

    你这是懒加载的需求?

    2018-12-20
    有用
    回复 1
    • 2018-12-20

      是的,然后?

      2018-12-20
      回复
  • 后米米米米
    后米米米米
    2018-12-20

    你说的是这个吗?


    2018-12-20
    有用
    回复 4
    • 2018-12-20

      拼接是没问题啦,unshift或者concat都可以,但是用这种方式话,你得刷新整个list吧,我想要的是只刷新局部

      2018-12-20
      回复
    • 后米米米米
      后米米米米
      2018-12-20回复

      目前做不到...

      2018-12-20
      回复
    • 2018-12-20回复后米米米米

      那,或者还有别的思路吗..【哭笑不得.jpg】

      2018-12-20
      回复
    • 2019-05-27回复

      setData改变的数据都会重新渲染吧?目前也用到这块,老兄你找到方案没?

      2019-05-27
      回复
登录 后发表内容