之前在进行暑假实习的时候,微信小程序页面抖动问题,做了很久都没有解决掉。在页面中跑了很多遍之中,发现是由于两次刷新引起的,页面主要采用一个问答的形式,答案选项是独立于每次问题下面的,每次选择之后会在页面中生成固定选择答案,由于选择部分(相当于考试做题选答案部分,每次结构都是刷新的),选项部分的逻辑后台(是在每次点击后都会执行相应的js文件中的一段代码),this.data({xxx: true}),该按钮的状态进行刷新,在每次点击之后页面中的按钮部分的元素都会进行重新刷新,以便于及时更新当前选项。
每次点击时在对按钮进行刷新时,主要是this.setData({xxx: true}),在这一段程序中对其进行刷新,写了两遍(刷新两遍,正是刷新两遍,导致页面发生抖动),不过当前这段程序还有一些其他的逻辑,虽然说其中有一段this.setDataa({xxx: true})在这段有些多余,但是在之后选项完成之后,如果不设置这段,那么在选项结束之后,再下一次选项开始之前,该逻辑依旧会存在,那么我们需要做的是在后面对该逻辑加上一句this.setData({xxx: false})