返回

巧用uniapp解决小程序常见问题,轻松驾驭开发

前端

bug:通过ref调用组件方法时,发现使用的是上一次的数据

解决方案: uniapp在修改组件prop的传值之后,需要在this.nextTick中调用组件方法。但是在百度小程序里,即使有this.nextTick依然没有解决这个问题,于是又追加了一个setTimeout。

bug:在组件的data里使用this.setData,在组件的methods里无法获取到最新值

解决方案: 使用this.setData同步更新data,在methods里使用最新的值,而不是使用this.data。

bug:当组件使用了transition过渡动画,在动画执行期间,组件的尺寸发生变化,动画会突然中断

解决方案: 在组件的style里设置transition-duration为0,在动画结束后再把它改回原来的值。

bug:使用百度小程序的组件库,在组件里使用了transition过渡动画,动画不会执行

解决方案: 在组件的style里设置transition-duration为0,在动画结束后再把它改回原来的值。

bug:在组件的mounted生命周期里使用了this.setData,在组件的updated生命周期里无法获取到最新值

解决方案: 使用this.setData同步更新data,在updated生命周期里使用最新的值,而不是使用this.data。

bug:使用百度小程序的组件库,在组件里使用了ref,在组件的updated生命周期里无法获取到最新值

解决方案: 使用this.setData同步更新data,在updated生命周期里使用最新的值,而不是使用this.data。

bug:在组件的created生命周期里使用了this.setData,在组件的mounted生命周期里无法获取到最新值

解决方案: 使用this.setData同步更新data,在mounted生命周期里使用最新的值,而不是使用this.data。

bug:在组件的updated生命周期里使用了this.setData,在组件的mounted生命周期里无法获取到最新值

解决方案: 使用this.setData同步更新data,在mounted生命周期里使用最新的值,而不是使用this.data。

bug:在组件的beforeDestroy生命周期里使用了this.setData,在组件的destroyed生命周期里无法获取到最新值

解决方案: 使用this.setData同步更新data,在destroyed生命周期里使用最新的值,而不是使用this.data。

bug:在组件的beforeDestroy生命周期里使用了this.setData,在组件的mounted生命周期里无法获取到最新值

解决方案: 使用this.setData同步更新data,在mounted生命周期里使用最新的值,而不是使用this.data。