vue3组件透传

<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="这是一个标题" />
posted @ 2023-03-03 09:44  Life_countdown  阅读(151)  评论(0)    收藏  举报