vue3 <script setup> 自定义组件中,判断 slot 是否有内容。

2,937 阅读1分钟

自定义组件

<template>
    <div>
    	<slot/>
    	<slot name="test"/>
    </div>
</template>

<script lang="ts" setup>
import { useSlots } from "vue";
//判断<slot/>是否有传值
const slotDefault = !!useSlots().default;
//判断<slot name="test"/>是否有传值
const slotTest = !!useSlots().test;
</script>

使用

<template>
    <test-a>
        <div>default内容</div>
        <template v-slot:test>test内容</template>
    </test-a>
</template>

<script lang="ts" setup>

</script>