You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vuetify3(Vue3)自定义组件图标加载失败问题求助

问题分析与修复方案

你遇到的错误是因为未定义aliases变量,且自定义图标配置逻辑、createVuetify参数结构存在问题,导致Vuetify无法识别gaming别名对应的图标。


修复方案一:直接通过别名注册自定义图标组件

这种方式适合单个自定义图标的场景,直接将别名与自定义组件绑定:

import { createVuetify } from 'vuetify';
import * as components from 'vuetify/components';
import * as directives from 'vuetify/directives';
import gamingIcon from 'assets/custom-icons/sector/gaming.vue';

// 定义图标别名,直接关联自定义组件
const aliases = {
  gaming: {
    component: gamingIcon,
  },
};

const vuetify = createVuetify({
  icons: {
    defaultSet: 'mdi',
    aliases,
  },
  components,
  directives,
});

export default vuetify;

修复方案二:自定义图标集+别名绑定

如果后续需要扩展同类型图标,推荐用这种方式注册图标集:

import { createVuetify } from 'vuetify';
import * as components from 'vuetify/components';
import * as directives from 'vuetify/directives';
import gamingIcon from 'assets/custom-icons/sector/gaming.vue';

const vuetify = createVuetify({
  icons: {
    defaultSet: 'mdi',
    // 别名指向自定义图标集的具体图标,格式为「图标集名称:图标名」
    aliases: {
      gaming: 'gaming:default',
    },
    // 注册自定义图标集,可在内部添加多个图标
    sets: {
      gaming: {
        icons: {
          default: gamingIcon,
        },
      },
    },
  },
  components,
  directives,
});

export default vuetify;

注意事项

  • 确保gamingIcon的文件路径正确,Vue能正常解析该组件
  • 使用图标时,直接通过$vuetify.icons.gaming或Vuetify组件的icon="gaming"属性调用即可

内容的提问来源于stack exchange,提问作者Nagaraju Vadlamudi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 01:02:53