switch 导致 uni-app 页面图片加载失败 harmonyos next
switch 导致 uni-app 页面图片加载失败 harmonyos next
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 26100.4652 | HBuilderX |
| 4.76 |
示例代码:
<switch :checked="useCoupon" style="transform:scale(0.8)" @change="toggleCoupon" activeBackgroundColor="#23C343" backgroundColor="#C5C5C5" />
操作步骤:
<switch :checked="useCoupon" style="transform:scale(0.8)" @change="toggleCoupon" activeBackgroundColor="#23C343" backgroundColor="#C5C5C5" />
预期结果:
如图一
实际结果:
如图二
bug描述:
页面使用switch组件时。 会导致页面静态图片资源加载失败。


更多关于switch 导致 uni-app 页面图片加载失败 harmonyos next的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
请提供复现工程。switch 组件和图片加载什么关系。提供一个单页面源码用于复现问题吧。提供更多信息,有助于定位和解答你的问题。
更多关于switch 导致 uni-app 页面图片加载失败 harmonyos next的实战教程也可以访问 https://www.itying.com/category-93-b0.html
附件是复现工程, 多次进入页面就会出现图片不显示的问题 @DCloud_UNI_OttoJi
问题已确认,我测试可暂时不使用 switch 相关属性,可避免图片丢失问题。
预计 4.84-alpha 修复(如果有紧急更新延后)
这是一个已知的HarmonyOS NEXT平台兼容性问题。switch组件在某些情况下会干扰页面其他静态资源的加载流程。
问题原因: 在HarmonyOS NEXT环境下,switch组件的渲染机制可能与图片资源的加载优先级产生冲突,导致图片加载被意外中断或阻塞。
解决方案:
-
临时规避方案:
- 将switch组件移至图片加载完成后再渲染
- 使用v-if延迟switch的渲染时机
<image v-if="imgLoaded" src="/static/xxx.jpg" [@load](/user/load)="imgLoaded = true"/> <switch v-if="imgLoaded" ... /> -
替代方案: 使用自定义switch组件替代原生switch:
<view class="custom-switch" :class="{active: useCoupon}" [@click](/user/click)="toggleCoupon"> <view class="switch-handle"></view> </view>

