vue.js - 在 bootstrap-vue 中使用自定义图标,或不同的方法?
问题描述
我有一个动态图标组件,它从我正在使用的数据中的字符串中获取其图标,如下所示:
<b-icon :icon="my-icon"></b-icon>
只要my-icon
我的数据中的字符串与Bootstrap 图标列表中可用的内容匹配,它就可以很好地工作。但有时my-icon
是一个完全自定义的字符串,我需要为其创建自定义 SVG。
是否可以选择提供与:icon
道具一起使用的自定义图标<b-icon>
?或者我应该避免<b-icon>
在这种特殊情况下,而只使用另一种方法来动态拉出我的自定义图标以及Bootstrap 图标?
Vue中有这样的东西吗?
<svg class="bi" width="32" height="32" fill="currentColor">
<use :xlink:href="'bootstrap-icons.svg#' + myIcon" />
</svg>
我想我必须建立自己的 bootstrap-icons.svg 文件——也许我可以从他们的文档中弄清楚。
本质上...
在将图标名称作为道具传递给 Vue 中的组件时,您如何使用图标包和您自己的自定义图标?
解决方案
据我所知,没有办法将自定义 SVG 公开到<b-icon>
.
您可以改为构建一个包装器组件来包装<b-icon>
,并将您自己的图标/SVG 合并到其中。首先检查传入的图标是否与您自己的任何图标匹配,如果不匹配则回退到<b-icon>
.
或者,您可以查看 Bootstrap-Vue 如何在 GitHub 存储库上创建图标,并复制此方法来创建您自己的自定义组件。
推荐阅读
- react-native - React Native 为什么要加载来自另一个应用程序的 app.js?
- typescript - vscode中奇怪的打字稿Object.values问题
- mysql - 试图获取 Moodle 用户 SQL 的完整课程活动信息
- react-native - React Native StackNavigator 屏幕的默认道具
- python - 将 Python Pandas 数据帧写入 CSV 文件时出现 Unicode 错误
- authentication - 使用 API 网关进行微服务身份验证
- css - 如何在不重复 mixin 的情况下将自定义材质主题包含到组件中:mat-core 和 angular-material-theme
- javascript - 如何使标签值在中继器中不可搜索?
- android - 尝试分享照片时出现异常
- ssas - 在缓慢变化的维度上使用 DAX 计算溢价总和时出错