EthanZhu
EthanZhu
  • 发布:2023-03-14 16:54
  • 更新:2023-03-16 10:31
  • 阅读:821

【报Bug】uniapp编译为微信小程序分包时,自定义组件上使用的v-show无效

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows11

HBuilderX类型: 正式

HBuilderX版本号: 3.7.3

第三方开发者工具版本号: 1.06.2301160

基础库版本号: 2.28.0

项目创建方式: HBuilderX

操作步骤:

自定义组件使用v-show标签,将项目发行为微信小程序分包,放入微信原生项目中。

预期结果:

v-show为false时,自定义组件隐藏

实际结果:

v-show为false时,自定义组件没有隐藏

bug描述:

将uniapp项目发行为微信小程序分包后,自定义组件上使用v-show无效,值为false时,元素不能隐藏,直接运行时有效。uniapp内置组件无异常。
经过我的排查,自定义组件使用data-custom-hidden="true"实现隐藏和显示,直接运行时,编译生成的代码有app.wxss文件,其中有样式:

[data-custom-hidden="true"],[bind-data-custom-hidden="true"]{  
display: none !important;  
}

但是打包为分包时,不存在app.wxss文件,导致隐藏无效。

2023-03-14 16:54 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

提供下测试工程,谢谢

  • EthanZhu (作者)

    你好,测试工程已经上传了,经过我的进一步测试,只有自定义组件才有此问题

    2023-03-16 09:13

王得福

王得福

建议使用v-if,支付宝小程序好像不认v-show

DCloud_UNI_WZF

DCloud_UNI_WZF

问题复现,自行在独立分包引用自定义组件的 style 下 或者 自定义组件的 style 下补充

[data-custom-hidden="true"],[bind-data-custom-hidden="true"]{display: none !important;}

即可。另:后续测试工程请提供完整复现问题的测试工程,减小排查成本,谢谢

  • EthanZhu (作者)

    希望可以编译为分包时自动加上,减少开发者排查成本,谢谢

    2023-03-16 10:41

  • 易者

    回复 EthanZhu: 支持。还有uni-forms-item组件的labelwidth的默认值80,应该默认写入的,但却留空,导致每次很多情况都需要自行去写入80,如果默认写入80,会适用于很多情况,更改80这个数值的机会反而不多,但留空却相当于是在凭空增加工作量。

    2023-03-16 11:06

  • DCloud_UNI_WZF

    回复 易者: 组件问题在插件市场评论区反馈即可

    2023-03-16 11:21

  • 易者

    回复 DCloud_UNI_WZF: 好的。

    2023-03-16 11:21

要回复问题请先登录注册