收藏
回答

分包异步化,组件渲染异常

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 工具 8.0.22 2.24.0

将自定义组件库package使用了分包异步化后,在A分包中,从X页面跳转进Y页面,Y页面包含package中的组件,页面一开始会出现无样式的自定义组件内容

其中中间内容为自定义弹窗,需点击触发

整个页面正常显示应该是如下

猜测是因为使用了view占位符,故默认会先用view,将内容渲染出来,但是体验不好,有没有什么办法能规避这一问题呢,例如,等待分包下载完毕后,再渲染页面,在此期间loading,但是没有提供相关的方法监听分包加载,wx.onLazyLoadError只能监听加载失败的。还请各位大佬解答

另外,有时候会出现

抓狂了

最后一次编辑于  2022-05-20
回答关注问题邀请回答
收藏

4 个回答

  • 小程序技术专员-SgLy
    小程序技术专员-SgLy
    2022-05-25

    和你猜的一样,例子里用 <fu-button>文本</fu-button>,其中 fu-button 在加载期间用 view 做占位,所以在分包下载期间页面实际渲染的是 <view>文本</view>,应用的是 view 的样式,表现是预期的;可以考虑在组件加载完成之后再显示文本;组件加载完成可以在分包组件 attached 的时候做事件(文档里的示例片段有类似的做法)分包下载完成也可以在分包代码执行的时候做一些逻辑来通知

    2022-05-25
    有用
    回复 2
    • José🙊
      José🙊
      2022-05-26
      请问如何监听分包组件加载完毕呢,有相关方法吗(uniapp)
      2022-05-26
      回复
    • 小程序技术专员-SgLy
      小程序技术专员-SgLy
      2022-05-30回复José🙊
      二次封装框架的话可以问问框架开发者是否有提供对应设计,或者看看框架中是否能找到对应的原生方法替代来达到对应的效果
      2022-05-30
      回复
  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    2022-05-20

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2022-05-20
    有用
    回复 1
  • rich
    rich
    2023-11-24

    子组件form-row触发事件this.$emit(''multiPickerChange", data)

    form-row是其他分包的组件,使用uniapp开发

    父组件: <form-row @pickerChange="multiPickerChange"/>,为什么在multiPickerChange中回把data放在detail.__args__中,

    2023-11-24
    有用
    回复
  • José🙊
    José🙊
    2022-05-20

    在线等

    2022-05-20
    有用
    回复
登录 后发表内容