Closed Y-A-K-E closed 3 years ago
我也发现了这个问题,据我分析,问题出在themeChanged.js中: module.exports = { data: { theme: ‘’, 这里页面默认theme为空值,css将此解释为light模式,页面onLoad之前以此数据渲染页面,表现为白色背景;当onLoad中执行this.themeChanged(app.globalData.theme)时,setData改变页面theme值引发页面重新渲染,但是这是个异步过程,所以当为dark模式时,页面跳转你有时会看见短暂的白色背景。解决办法如下,设置页面的theme为当前的显示模式: module.exports = { data: { theme: getApp().globalData.theme,
@Y-A-K-E reLaunch这种情况下的确会白,但如果是想首次进入小程序即用黑色背景,可以在app.wxss
下加入下面代码:
@media (prefers-color-scheme: dark) {
page {
background-color: #111111;
}
}
比如demo中 在首页,直接跳转tabbar页. wx.reLaunch({url: '../example/tabbar/tabbar'})
两个页面切换中间有短暂的亮白色背景.