SlevRin
SlevRin
  • 发布:2022-03-10 07:45
  • 更新:2022-03-10 07:45
  • 阅读:400

【报Bug】vue3 小程序插槽bug

分类:uni-app

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

PC开发环境操作系统: Windows

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

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

基础库版本号: 2.22.1

项目创建方式: CLI

CLI版本号: 3.0.0-alpha-3030520211229002

示例代码:

ComponentA:

<view>  
  <slot a="a" />  
</view>

ComponentB:

<view>  
  <ComponentA>  
    <template v-slot="{ a }">  
      <slot :a="a" b="b" />  
    </template>  
  </ComponentA>  
</view>

page-B:

<view>  
  <ComponentB>  
    <!-- 该插槽无效 -->  
      <template v-slot="{ a, b }">  
        {{a + b}}  
      </template>  
  </ComponentB>  
</view>

ComponentC:

<view>  
  <ComponentA>  
    <!-- 不写 v-slot="{}" 会报错: Cannot read property 'fn' of undefined -->  
    <template v-slot="{}">  
      <slot />  
    </template>  
  </ComponentA>  
</view>

page-C:

<view>  
  <ComponentC>  
    <!-- 该插槽有效(但有啥用呢) -->  
      <template>  
        我是一个能用但没用的插槽  
      </template>  
  </ComponentC>  
</view>

操作步骤:

/

预期结果:

/

实际结果:

/

bug描述:

  1. 如果组件内给插槽传了数据,在使用组件时就必须接收, 即必须要写 v-slot="{}", 否则报错: Cannot read property 'fn' of undefined
  2. 一个组件嵌套另一组件时,要定义一个插槽透传到内层组件的插槽上时,如果内层组件的插槽传递了数据,外层组件的插槽就无法再传递数据,否则该插槽无效

app和h5正常
望解决!

2022-03-10 07:45 负责人:无 分享
已邀请:

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