收藏
回答

wx:for渲染控制个数

问题模块
API和组件

请问用wx:for列表渲染如何限制一次渲染的个数,比如一共有10个对象,页面完成加载时先渲染5个,等用户触发上拉事件后再渲染后5个对象。

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

6 个回答

  • maq
    maq
    2017-06-16
    <block wx:for="{{list}}">
        <view hidden="{{index >= 5 && !showAll}}">
            ...
        </view>
    </block>


    2017-06-16
    赞同
    回复
  • irrational
    irrational
    2017-06-16

    但是这个方法好像不能用onReachBottom动态修改他显示的个数啊

    2017-06-16
    赞同
    回复
  • maq
    maq
    2017-06-16

    修改 showAll 这个属性值就可以控制超过 5 的那些对象是否显示。

    onReachBottom: function() {

        this.setData({

           showAll: true

       });

    }


    2017-06-16
    赞同
    回复
  • irrational
    irrational
    2017-06-16

    那如果我有20个对象,每次加载5个对象,就实现不了了,只能第一次显示5个对象,然后第二次就直接把所有对象都显示出来了

    2017-06-16
    赞同
    回复
  • maq
    maq
    2017-06-16

    想想办法嘛……

    <block wx:for="{{list}}">
        <view hidden="{{index >= showLimit}}">
            ...
        </view>
    </block>
    onReachBottom: function() {
        var that = this;
        this.setData({
           showLimit: that.data.showLimit + 5
       });
    }

    这样就可以了嘛。

    2017-06-16
    赞同
    回复
  • 下雨天
    下雨天
    2017-07-28


    请问楼上,我本来有10条数据,但是手机上显示5条就满屏了,后面几条也没有显示出来是为什么呢???屏幕上拉都没有显示出来,请教一下。

    2017-07-28
    赞同
    回复