uni-app 支付宝小程序组件 join-group-chat 条件编译后 template-id 参数丢失
uni-app 支付宝小程序组件 join-group-chat 条件编译后 template-id 参数丢失
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
PC | Mac | CLI |
操作系统 | 12.7.1 | |
工具 | 3.8.11 | |
库 | 2.9.6 | |
CLI | 3.0.0-alpha-401 |
示例代码:
<!-- #ifdef MP-ALIPAY -->
<join-group-chat :template-id="templateId" />
<!-- #endif -->
操作步骤:
<!-- #ifdef MP-ALIPAY -->
<join-group-chat :template-id="templateId" />
<!-- #endif -->
预期结果:
支付宝组件 join-group-chat
template-id
不被编译 保留字符串形式
实际结果:
组件不显示
bug描述:
支付宝小程序使用 join-group-chat
组件, 真机调试后发现组件没有显示 基础库是支持该组件使用的
检查编译后的文件,发现 template-id
消失了
更多关于uni-app 支付宝小程序组件 join-group-chat 条件编译后 template-id 参数丢失的实战教程也可以访问 https://www.itying.com/category-93-b0.html
感谢反馈,我已复现,bug 已确认,并给你加分。
问题定位
alipay 新增了一部分开放组件,需要同步调整白名单。
下个版本会生效。
临时解决方案
在下个版本发布之前,你可以按照下面的方式使用最新编译产物
使用 HBuilderX
找到 IDE 安装目录,windows 在资源管理器找到,mac 在访达-应用程序-HBuiderX 中右键选择 展示包内容
Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-alipay/dist/uni.compiler.js
替换使用下面的文件
使用 cli
使用 CLI 脚手架打开
项目地址/node_modules/@dcloudio/uni-mp-alipay/dist/uni.compiler.js
替换使用下面的文件
文件修改如下
如果仍有问题,请留言告诉我。
更多关于uni-app 支付宝小程序组件 join-group-chat 条件编译后 template-id 参数丢失的实战教程也可以访问 https://www.itying.com/category-93-b0.html
HBuilderX 4.14.2024042905-alpha 已修复。
join-group-chat,可以正常用了吗,我的还不能用,大佬可以帮忙看看吗
在 uni-app 中使用条件编译来处理不同平台的代码时,可能会遇到某些参数在特定平台上丢失的问题。对于你提到的 join-group-chat
组件的 template-id
参数在支付宝小程序中丢失的情况,可能是由于条件编译的写法或参数传递方式不当导致的。
解决方法
-
检查条件编译语法: 确保条件编译的语法正确,并且
template-id
参数在支付宝小程序的条件下被正确传递。<template> <!-- 通用代码 --> <view> <!-- 支付宝小程序特定代码 --> #ifdef MP-ALIPAY <join-group-chat template-id="your-template-id" /> #endif </view> </template>
-
确保参数正确传递: 确保
template-id
参数在支付宝小程序的条件下被正确传递,并且参数名称与组件要求的名称一致。 -
检查组件文档: 确保
template-id
是join-group-chat
组件在支付宝小程序中支持的属性。不同平台可能对组件的属性支持有所不同。 -
调试输出: 在支付宝小程序环境下,通过
console.log
或其他调试手段,检查template-id
是否被正确传递到组件中。<script> export default { mounted() { #ifdef MP-ALIPAY console.log('template-id:', 'your-template-id'); #endif } } </script>
-
使用动态绑定: 如果
template-id
是动态的,可以使用:template-id="templateId"
的方式进行动态绑定,确保参数能够正确传递。<template> <view> #ifdef MP-ALIPAY <join-group-chat :template-id="templateId" /> #endif </view> </template> <script> export default { data() { return { templateId: 'your-template-id' }; } } </script>