SomeComp.vue
<template>
<view class="some-comp">
<slot :value="1"></slot>
</view>
</template>
Parent.vue
<template>
<some-comp>
<!-- 写了scope可以展示 -->
<template #default="scope">
<text>111</text>
</template>
</some-comp>
<some-comp>
<!-- 不写scope无法展示 -->
<template #default>
<text>111</text>
</template>
</some-comp>
</template>
<script lang="ts" setup>
import SomeComp from "./SomeComp.vue";
</script>
编译结果
<view class="some-comp">
<slot name="d"></slot>
</view>
<some-comp u-s="{{['d']}}" u-i="6a889542-0" bind:__l="__l">
<text>111</text>
</some-comp>
<some-comp u-s="{{['d']}}" u-i="6a889542-1" bind:__l="__l">
<view wx:for="{{a}}" wx:for-item="scope" wx:key="a" slot="{{scope.b}}">
<text>111</text>
</view>
</some-comp>
错误描述
微信小程序端,当组件内slot带参数时,uniapp会为其生成动态名称,若父组件不显式写出作用域参数,则不会为传入内容动态生成slot名称,导致无法展示传入内容
另外,在v-for中时,若slot没有作用域参数时,不会为slot动态生成名称,会导致传入内容只能展示一条
版本信息
- uniapp:3.0.0-4000820240401001
- vue:3.3.11
2条答案
按热度按时间6yt4nkrj1#
#4617 一样
rlcwz9us2#
不知道啥时候能解决下这个问题🥹