iOS中使用setData渲染页面有时会失效?
发布于 5 年前 作者 yong69 5470 次浏览 来自 问答
//js中相关代码
next:function(){
    var that=this;
    var countnum = this.data.count + 1;
    var questionText=this.data.riddles[countnum].riddleTitle;
    console.log(questionText);
    console.log(countnum);
    this.setData({
      modalName: null,
      answer:'',
      count:countnum,
      question:questionText
    },
    ()=>{
      console.log('success')
    })
    // this.countDown();
  },

//wxml中相关代码
<view class="question">
  <view class="question-content">
    <view class="question-text">{{question}}</view>
    <view class="question-hint">——【{{riddles[count].riddleTip}}】</view>
  </view>
  <form bindsubmit="formSubmit">
    <view class="cu-form-group answer">
      <input name="answer" placeholder="请输入正确答案" value="{{answer}}"></input>
    </view>
    <view class="countdown">{{countDownNum}}</view>
    <view class="picture-sub">
      <button class="button-area" formType="submit">
        <text class="button-text">提交</text>
      </button>
    </view>
  </form>
</view>
riddles是我已经获取到的数据数组,本来想通过改变count的值来实时渲染页面,wxml中question的位置本来是riddles[count].riddleTitle。安卓系统这样写一点问题没有,调用next方法后,页面会实时渲染显示下一个question。但iOS中就不行,或者说时好时坏,页面上的question经常不会改变,我打印了setData前count和question的值,以及setData后count和question的值(这里代码没放出来)发现值是变了的,只是页面没有渲染。setData的回调函数success每次也都打印出来了,控制台也不报错,实在是不知道该怎么调试了。
回到顶部