7***@qq.com
7***@qq.com
  • 发布:2022-08-01 12:01
  • 更新:2022-08-09 15:26
  • 阅读:449

【报Bug】<script setup> slots 不生效

分类:uni-app

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

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Monterey 12.5

HBuilderX类型: 正式

HBuilderX版本号: 3.5.3

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

基础库版本号: 2.25.2

项目创建方式: HBuilderX

示例代码:

step1.vue ⬇️

<template>  
    <Container  
        isFrist  
        description="请选择您的爱宠"  
        stepNum="1"  
    >  
        <template v-slot:default>  
            <view>猫,狗</view>  
        </template>  
        <template v-slot:footer>  
            <text>点击上方图标跳转页面</text>  
            <view>FIT <br> 低卡轻食</view>  
        </template>  
    </Container>  
</template>  

<script setup>  
    import Container from '@/components/Container.vue'  
</script>

container.vue ⬇️


<template>  
    <view class="container">  
        <view class="title">  

            <text>体重控制喂食器</text>  

        </view>  
        <view class="step">  
            <text>Step</text>  
            <text :class="{frist: props.isFrist, num: true}">{{props.stepNum}}</text>  
        </view>  
        <view class="description">  
            <text>{{props.description}}</text>  
        </view>  
        <slot />  
        <view class="footer">  
            <slot name="footer" />  
        </view>  
    </view>  

</template>  

<script setup>  
    import { useSlots } from 'vue'  

    const props = defineProps()  

    console.log(useSlots())  

</script>

操作步骤:

编译即可

预期结果:

需要与vue3,setup相符

实际结果:

与vue3,setup不符

bug描述:

  1. dom元素不会插入<slot /> 所在的节点
  2. useSlots 执行后只显示 true
  3. 因为无法插入指定元素,所以样式也不生效
2022-08-01 12:01 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

用你提供的代码未复现该问题,请检查代码或提供可复现demo,谢谢

  • 4***@qq.com

    我遇到了同样的问题。我不知道如何在回复下面添加图片,我在下面回复了题主一条消息,你可以看一下。

    2022-08-04 16:13

4***@qq.com
  • 4***@qq.com

    打印了三条信息,分别用不同的颜色框了起来。useSlots()得到的值在不同平台得到不同的返回值

    2022-08-04 16:16

  • DCloud_UNI_WZF

    回复 4***@qq.com: 图片太宽,糊的看不清了,方便上传下最简可复现demo吗(使用附件上传压缩包)

    2022-08-04 16:30

  • 4***@qq.com

    回复 DCloud_UNI_WZF: 点开下面不是有一个放大按钮吗?我重新打开看了一下 非常清除。demo提上来也和楼主的差不多。你看楼主的console.log(useSlots()) 这个代码,打印出来的属性是布尔值

    2022-08-04 16:59

  • 4***@qq.com

    回复 DCloud_UNI_WZF:图片我分成三张 分别上传了

    2022-08-04 17:05

  • 4***@qq.com

    回复 DCloud_UNI_WZF: 大哥,你看了吗?我重新提了个问题,有最小复现demo的附件,你可以下载下来看一眼。谢谢你了。https://ask.dcloud.net.cn/question/150632

    2022-08-05 17:40

h***@hotmail.com

h***@hotmail.com

哥们解决了吗

DCloud_UNI_WZF

DCloud_UNI_WZF

uni-app 目前在小程序端不支持 useSlots

要回复问题请先登录注册