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

Quasar框架中mdi-v7图标无法使用问题求助

解决Quasar中mdi-v7图标无法正常显示的问题

先确认基础配置是否正确

首先检查你的quasar.config.js配置是否完全符合要求:

// quasar.config.js
module.exports = function (/* ctx */) {
  return {
    // ...其他配置
    extras: [
      'mdi-v7' // 确保已添加mdi-v7资源
    ],
    framework: {
      iconSet: 'mdi-v7', // 指定默认图标集为mdi-v7
      // ...其他framework配置
    }
    // ...其他配置
  }
}

修改配置后必须重启开发服务器,否则配置不会生效。


场景1:使用:icon绑定导入的图标时出现未定义警告

你遇到的[Vue warn]: Property "mdiDeskLamp" was accessed during render but is not defined on instance警告,是因为导入的图标没有被模板正确访问到,解决方式分两种组件写法:

选项式API(Options API)

需要把导入的图标添加到组件的data中,让模板能访问到:

<template>
  <q-btn :icon="mdiDeskLamp" />
</template>

<script>
// 从mdi-v7包中导入对应图标
import { mdiDeskLamp } from '@quasar/extras/mdi-v7'

export default {
  data() {
    return {
      mdiDeskLamp // 将图标挂载到实例上
    }
  }
}
</script>

组合式API(<script setup>)

在<script setup>中导入的变量可直接在模板使用,无需额外配置:

<template>
  <q-btn :icon="mdiDeskLamp" />
</template>

<script setup>
import { mdiDeskLamp } from '@quasar/extras/mdi-v7'
</script>

场景2:使用icon="mdiDeskLamp"显示奇怪字符

出现占位字符是因为你用了驼峰式的图标名称,Quasar要求字符串形式的图标名称必须是**kebab-case(短横线分隔小写)**格式。

mdiDeskLamp对应的正确字符串名称是mdi-desk-lamp,修改后即可正常显示:

<template>
  <q-btn icon="mdi-desk-lamp" />
</template>

内容的提问来源于stack exchange,提问作者Sudipta Roy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:52:51