当用槽 Package v图标时,它呈现的是文本而不是图标。
<v-icon>myprefix-plus</v-icon><!--works, renders an icon -->
<Icon>myprefix-plus</Icon> <!--renders a text -->
结果如下:
图标组件的实现非常简单:
<template>
<v-icon><slot></slot></v-icon>
</template>
<script lang="ts">
import { defineComponent } from "vue";
export default defineComponent({
name: "Icon",
});
</script>
为什么它不与插槽工作,我怎么能让它工作,不改变项目中的图标组件的每一个出现?
2条答案
按热度按时间rsaldnfx1#
我想,要实现它,你必须使用Vue Render Functions:
h()
和resolveComponent()
就像
IconSlot
一样我最好在
props
上执行,就像IconProp
一样然后
这里是操场
dpiehjr42#
可以通过执行其render函数来获取默认插槽的内容:
看看Vuetify的VIcon是如何做到的。