admin管理员组文章数量:1399906
i want to import @heroicons/vue
in Nuxt 3 but my icon not appear in frontend.
my setup:
import { HomeIcon, FilmIcon, PlusIcon } from "@heroicons/vue/solid"
my html:
<template v-for="(profileItem, i) in accountSetFields" :key="i">
<ProfileItems :user="user" :item="profileItem" />
<template v-slot:icon>
<ponent :is="profileItem.icon"></ponent>
</template>
</ProfileItems>
</template>
the variable profile.Item.icon
has a string value of "HomeIcon"
I have tried to pass the value directly to the child ponent "ProfileItem.vue" but i receive the same error message.
When i pass the value directly as string ("HomeIcon" instead of profile.Item.icon
) than it works because it mentioned the attribute from import { HomeIcon, FilmIcon, PlusIcon } from "@heroicons/vue/solid
<ponent :is="HomeIcon"></ponent>
Did anyone know how to load the icons dynamically?
i want to import @heroicons/vue
in Nuxt 3 but my icon not appear in frontend.
my setup:
import { HomeIcon, FilmIcon, PlusIcon } from "@heroicons/vue/solid"
my html:
<template v-for="(profileItem, i) in accountSetFields" :key="i">
<ProfileItems :user="user" :item="profileItem" />
<template v-slot:icon>
<ponent :is="profileItem.icon"></ponent>
</template>
</ProfileItems>
</template>
the variable profile.Item.icon
has a string value of "HomeIcon"
I have tried to pass the value directly to the child ponent "ProfileItem.vue" but i receive the same error message.
When i pass the value directly as string ("HomeIcon" instead of profile.Item.icon
) than it works because it mentioned the attribute from import { HomeIcon, FilmIcon, PlusIcon } from "@heroicons/vue/solid
<ponent :is="HomeIcon"></ponent>
Did anyone know how to load the icons dynamically?
Share Improve this question edited Nov 12, 2022 at 17:18 kissu 47k16 gold badges90 silver badges189 bronze badges asked Nov 12, 2022 at 15:42 user19540948user195409482 Answers
Reset to default 4That one works well
<script setup>
import { HomeIcon, FilmIcon, PlusIcon } from "@heroicons/vue/24/solid"
const icons = reactive({
home: HomeIcon,
film: FilmIcon,
plus: PlusIcon,
})
</script>
<template>
<ponent :is="icons.home"></ponent>
</template>
as explained here, you need the 24
in your import (for the size).
Not sure but this may also help maybe, didn't have to use that myself: https://github./tailwindlabs/heroicons/issues/564
Or you can forget about worrying about various icons configuration and fallback to that one (configured once and for all): https://stackoverflow./a/72055404/8816585
You can also use it without <ponent/>
and register the icon as a ponent. Should also work with the position api.
<template>
<CheckCircleIcon />
</template>
<script>
import { CheckCircleIcon } from "@heroicons/vue/24/solid";
export default {
ponents: {
CheckCircleIcon,
}
}
</script>
本文标签: javascriptHow to use heroiconsvue in Nuxt3Stack Overflow
版权声明:本文标题:javascript - How to use @heroiconsvue in Nuxt3? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744186816a2594327.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论