<template>
<div class="empty-box">
<el-empty description="暂无数据" v-bind="$attrs">
<template v-for="(item, key) in $slots" #[key]>
<slot :name="key"></slot>
</template>
</el-empty>
</div>
</template>
<template>
<div class="base-dialog">
<el-dialog v-bind="$attrs">
<template v-for="(item, key) in $slots" #[key]>
<slot :name="key"></slot>
</template>
</el-dialog>
</div>
</template>
核心:v-bind="$attrs" 在父组件中直接使用UI组件的API,如需要单独传递参数,这正常使用defineProps即可(尽量不要和UI组件的API重复,若重复,则优先defineProps中的属性)
import baseDialog from '@/components/baseDialog.vue'
<baseDialog v-show='true' title="这是一个标题" />
标签:透传,API,UI,vue3,组件,baseDialog
From: https://www.cnblogs.com/demoTimes/p/17174491.html