dq_kong
dq_kong
  • 发布:2024-08-28 17:16
  • 更新:2024-08-29 14:46
  • 阅读:118

【报Bug】v-for 动态渲染作用域插槽,再嵌套作用插槽无法获取到作用域

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.24

手机系统: Android

手机系统版本号: Android 11

手机厂商: 小米

手机机型: mi9se

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

sq-slot组件

<template>  
  <view>  
    <view v-for="item in num" :key="item">  
      <slot name="label" data="111" v-if="$scopedSlots.label"></slot>  
    </view>  
  </view>  
</template>  

<script>  
export default {  
  data() {  
    return {  
      num: 0,  
    };  
  },  
  mounted() {  
    setTimeout(() => {  
      this.num = 5;  
    }, 1000);  
  },  
};  
</script>

sq-slot2组件

<template>  
  <sq-slot>  
    <template v-slot:label="row" v-if="$scopedSlots.label">  
      <slot name="label" val="111" v-bind="row"></slot>  
    </template>  
  </sq-slot>  
</template>  

<script>  
export default {};  
</script>

使用代码

    <sq-slot2>  
      <template v-slot:label="row">  
        {{ JSON.stringify(row) }}  
      </template>  
    </sq-slot2>

操作步骤:

直接运行

预期结果:

使用代码中正常获取作用域变量

实际结果:

row = undefind

bug描述:

v-for 动态渲染作用域插槽,再嵌套作用插槽无法获取到作用域,app异常,H5正常

2024-08-28 17:16 负责人:DCloud_UNI_BFC 分享
已邀请:
DCloud_UNI_BFC

DCloud_UNI_BFC

你好,已确认bug,感谢反馈,已加分。

DCloud_UNI_BFC

DCloud_UNI_BFC

临时解决方案, 将多层slot嵌套的方式调整为 单个slot嵌套。 例如将sq-slot 和sq-slot2 合并成一个组件,或者sq-slot 和sq-slot2 之间关闭slot,使用props的方式传递信息。

要回复问题请先登录注册