t***@sina.com
t***@sina.com
  • 发布:2022-12-03 09:48
  • 更新:2022-12-03 12:05
  • 阅读:336

【报Bug】多级插槽导致不显示(仅微信小程序)

分类:uni-app

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

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.5

第三方开发者工具版本号: 1.06.2209190 win32-x64

基础库版本号: 2.28.0

项目创建方式: HBuilderX

示例代码:

详见附件。

操作步骤:

导入项目 编译到微信小程序。

预期结果:

显示业务自定义内容。

实际结果:

并无显示。

bug描述:

首先我有一个组件 A, 支持插槽动态插入内容。

<template>  

  <view>ComponentA组件公共内容区</view><view> ^ </view><view> ^  </view>  

  <view>ComponentA插槽内容: </view>  
  <view style="border: 1px solid; height: 200px;">  
      <slot name="componentA" :paramByA="{ key: '我是插槽A的参数' }"/>  
   </view>  
</template>

然后把又加了一个组件B, 对A进行了包装, 也支持插槽插入内容。

<template>  
    <ComponentA>  
        <template #componentA="{paramByA}">  
            testB覆写了testA, 拿到了参数: {{ paramByA }}   

             <view>ComponentB插槽内容: </view>  
             <view style="border: 1px solid; height: 60px; margin: 10px;">  
                  <slot name="componentB" :paramByB="{ key: '我是插槽B的参数' }"/>  
              </view>  

        </template>  
    </ComponentA>  

</template>

最后业务方使用:

<ComponentB>  
            <template #componentB="{paramByB}"><view>我是业务, 把我显示就成功了!!!!!拿到参数: {{paramByB}}</view></template>  
</ComponentB>

结果: 业务页面的自定义内容不会正常显示, 默认内容页不会显示而是空白。

但是! 如果不传入参数, 就是正常显示。 APP H5都是正常的。

查看: 编译到小程序的源代码:
在微信小程序编辑器内: 修改 【ComponentB.wxml】文件:
[ <slot name="{{v0.b}}"/> ]改为:[ <slot name="componentB"/> ] 就可以正常显示了。

代码附件已上传。

2022-12-03 09:48 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

HBuilderX 3.6.10 已修复该问题

  • t***@sina.com (作者)

    已更新到 3.6.12 问题已解决, 但是循环插槽又出新问题。 https://ask.dcloud.net.cn/question/159216 , 您能否给个临时解决方案,我们这边着急发版本。 谢谢。

    2022-12-09 10:17

该问题目前已经被锁定, 无法添加新回复