收藏
回答

使用setData加载数据界面有时无效

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug setData 微信iOS客户端 7.0.4 2.7.7[266]

界面:<view id='{{item.id}}' class='percent-width-left' wx:for='{{optionList}}' >{{item.text}}</view>

js:

function getInfo(){

    var myObj = this;

    wx.request({

    url: 'https://www.xxx.cn/datalist/Info?pageSize=20&pageIndex=1',

    data: null,

    success: function(dataStore){

        var dts = dataStore.data;

        myObj.setData({optionList: dts});

    }

    });

}

因业务需要,同一界面上做了选项卡操作,上面的代码对应着其中一个选项卡(一些判断的代码被省略了),当切换到该选择卡时,偶尔会出现界面无任何反映(界面不能显示数据),如果再多点击一下,数据出来了。但这仅是偶尔现象,多数情况是直接就可以把数据加载出来的。原先怀疑是数据访问这一环节导致的,但在sccuess方法里加入console.log(dataStore); 在界页无任何反映的情况下是有数据被打印出来的,由此可以证明,界面无反映不是访问数据环节导致的,应该是出在界面渲染层或其它地方,请教有没有好的办法能够避免这种偶尔现象发生。


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

1 个回答

  • 烬
    07-30
    不一定dataStore.data有值啊
    07-30
    赞同
    回复 4
    • 往事如风
      往事如风
      07-30
      我已经打印出来看了,dataStore.data有值是可以肯定的
      07-30
      回复
    • 烬
      07-30回复往事如风
      你也没说打印出来了 在appdata里面看一下,是不是set成功了
      07-30
      回复
    • 往事如风
      往事如风
      07-30回复
      亲,我在问题描述里是有说的“但在sccuess方法里加入console.log(dataStore); 在界页无任何反映的情况下是有数据被打印出来的”
      07-30
      回复
    • 往事如风
      往事如风
      07-30回复
      不过,你提醒的一点我没有去检查,就是pagedata里的optionList数据有没有set成功,谢谢提醒
      07-30
      回复