Ionic 4,Ionicon库添加自定义图标

Patratel

我目前正在使用Vue Cli生成一个包含ionic和ionicon库的项目。

package.json

  "@ionic/core": "^4.11.7",
  "@ionic/pwa-elements": "^1.4.1",
  "@ionic/vue": "0.0.9",
  "ionicons": "^4.6.3",

我正在尝试向我的项目添加自定义图标。我正在遵循Ionic文档https://ionicons.com/usage该文档指出,要添加自定义SVG图标,必须采取以下步骤:

要使用自定义SVG,请在src属性中提供其URL,以请求外部SVG文件。src属性的作用与必须从正在请求图像的网页上访问URL的方式相同。此外,外部文件只能是有效的SVG,并且不允许SVG元素内的脚本或事件。

我已按照示例进行操作,并且未加载图标。我发现的相同案例场景的另一个示例是以下https://golb.hplar.ch/2018/01/Custom-SVG-icons-in-Ionic.html在此示例之后,我尝试将图标的SVG代码直接添加到src中。这似乎可行,但是出于组织目的,如果可以将文件路径传递给组件,我会发现它更方便。

htmn

这就是我要做的,以便使其在Vue中工作

  1. 在您的vue-cli项目中,安装最新的@ ionic / vue
    npm i @ionic/[email protected]
  2. 修改 main.js

如果您只想使用自定义图标:

import Vue from 'vue'
import App from './App.vue'
import Ionic from '@ionic/vue'
import '@ionic/core/css/ionic.bundle.css';

Vue.use(Ionic);
Vue.config.productionTip = false

new Vue({
  render: function (h) { return h(App) },
}).$mount('#app')

如果您还想使用离子子(在addIcons里面基本上是这样做的:
addIcons({"ios-star": star.ios, "md-star": star.md})。这当然是可选的,但是如果我想在我的应用程序中添加一个新图标,这种方式我只需要向数组中添加一个新条目,就可以阅读更多内容。关于这里。):

import Vue from 'vue'
import App from './App.vue'
import Ionic from '@ionic/vue'
import '@ionic/core/css/ionic.bundle.css'
import { addIcons } from 'ionicons'
import camelCase from 'lodash/fp/camelCase'

// ionicons.com App icons
const appIcons = ['star', 'images']
// ionicons.com Logos
const logos = ['logo-facebook']

Vue.use(Ionic);
Vue.config.productionTip = false

addIcons({
 // App icons object
 ...appIcons.reduce((acc, name) => {
   return {
     ...acc,
     [`ios-${name}`]: require('ionicons/icons')[camelCase(name)].ios,
     [`md-${name}`]: require('ionicons/icons')[camelCase(name)].md
   }
 }, {}),
 // Logos object
 ...logos.reduce((acc, name) => {
   return {
     ...acc,
     [name]: require('ionicons/icons')[camelCase(name)]
   }
 }, {}),
})

new Vue({
 render: function (h) { return h(App) },
}).$mount('#app')
  1. 将我的自定义svg图标复制到该public文件夹中
  2. 使用自定义图标: <ion-icon src="/custom.svg" />

编辑:如果要使用src/assets而不是public文件 夹,由于vue-cli public folder
我还尝试将自定义图标移动到src/assets文件我发现由于某种原因,使用vue-cli时,webpack不会在将自定义图标放入src/assets文件夹并将图标用作时拾取自定义图标<ion-icon src="./assets/custom.svg" />所以,如果你想保持你的图标中src/assets,这种解决方法为我工作(基于):

<ion-icon :src="require(`@/assets/custom.svg`)" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Ionic 2中添加自定义图标

来自分类Dev

如何在ionic2中添加新的自定义字体图标

来自分类Dev

带有Ionic 5的自定义图标?

来自分类Dev

Ionic:自定义搜索栏取消图标颜色

来自分类Dev

Ionic 4 ion-DatePicker自定义颜色

来自分类Dev

Ionic 4标签:如何创建自定义标签

来自分类Dev

Ionic 2 DatePicker自定义

来自分类Dev

在头像右侧添加图标-Ionic

来自分类Dev

为什么添加自定义SASS变量在Ionic中不起作用?

来自分类Dev

将自定义按钮添加到 CSS - Ionic 3 无法加载字体

来自分类Dev

如何在 Ionic2 中添加用户定义的图标?

来自分类Dev

如何在Ionic v4中生成有效的自定义组件?

来自分类Dev

如何在 Ionic 4 中导入自定义 css 和 js

来自分类Dev

自定义 Angular (8) Pipe not found in Ionic 4 App 问题

来自分类Dev

Ionic-自定义Android包装器

来自分类Dev

在ionic 2中缓存自定义组件的内容

来自分类Dev

使用Ionic创建自定义相机视图

来自分类Dev

在ionic 2中缓存自定义组件的内容

来自分类Dev

如何创建Ionic2自定义构建过程?

来自分类Dev

ionic2 - 如何自定义按钮大小

来自分类Dev

带有 scss 的 ionic3 自定义样式

来自分类Dev

ionic:如何向标题栏添加自定义元素或如何为每个视图添加自己的标题栏?

来自分类Dev

在Ionic 2中,如何创建使用Ionic组件的自定义指令?

来自分类Dev

添加图标字体 ionic 3 时出错

来自分类Dev

如何添加带有ionic / ionic 2 / ionic 3 / ionic 4 / ionic 5的本地cordova插件?

来自分类Dev

向 matIconRegistry 添加自定义图标?

来自分类Dev

Ionic 4与Apple登录

来自分类Dev

来自Internet的Custom Ionic图标

来自分类Dev

在Ionic 4上添加刷卡火种

Related 相关文章

热门标签

归档