我有一个动态图标组件,它从我使用的数据中的字符串中获取图标,如下所示:
<b-icon :icon="my-icon"></b-icon>
只要我的数据中的my-icon
字符串与Bootstrap图标列表中可用的字符串匹配,就可以很好地工作。但有时my-icon
是一个完全自定义的字符串,我需要为它创建一个自定义SVG。
是否有提供自定义图标的选项供<b-icon>
中的:icon
道具使用?或者,在这种特殊情况下,我应该避免<b-icon>
,而只使用另一种方法来动态拉取我的自定义图标和引导图标?
Vue有这样的东西吗?
<svg class="bi" width="32" height="32" fill="currentColor">
<use :xlink:href="'bootstrap-icons.svg#' + myIcon" />
</svg>
我想我必须构建自己的bootstrap-cons.svg文件——也许我可以从他们的文档中找到答案。
本质上。。。
如何使用图标包和您自己的自定义图标,同时将图标名称作为道具传递给Vue中的组件
据我所知,没有办法向<b-icon>
公开自定义SVG。
相反,您可以构建一个包装<b-icon>
的包装器组件,并将您自己的图标/SVG合并到中。首先检查传入的图标是否与您自己的图标匹配,如果不匹配,则返回到<b-icon>
。
或者,你可以看看Bootstrap Vue是如何在GitHub repo上创建图标的,并复制这种方法来创建你自己的自定义组件。