vue.js - 为什么 vuetify 图标不显示?

标签 vue.js material-design vue-component vuetify.js vue-cli

我使用的是 vuetify 最新版本。我正在学习本教程 https://vuetifyjs.com/en/getting-started/quick-start

在 vue 组件中我这样尝试:

  <v-text-field
    append-icon="mic"
    class="mx-4"
    flat
    hide-details
    label="Search"
    prepend-inner-icon="search"
    solo-inverted
  ></v-text-field>

结果是这样的:

image

在我的 public/index.html 中是这样的:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title>msm-website-appointment</title>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css">
  </head>
  <body>
    <noscript>
      <strong>We're sorry but msm-website-appointment doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

看起来设计素材已经加载了。但是为什么没有出现图标呢?

最佳答案

您可能正在引用 mdi ( Material 设计图标字体)👈 according to the documentation ,而您的 v-text-field 使用的是不同的 ( defaults to md in version ^1.5 ),因此缺少图标。

要解决此问题,您需要添加 required icon font ,或者如果您选择 mdi,请进行以下调整(注意图标属性绑定(bind)部分以 mdi- 为前缀):

<v-text-field
  append-icon="mdi-microphone"
  class="mx-4"
  flat
  hide-details
  label="Search"
  prepend-inner-icon="mdi-magnify"
  solo-inverted>
</v-text-field>

作为旁注,由于您已经使用 Vue CLI 初始化了应用程序,因此您不再需要从 CDN 导入图标,因为它们将由构建过程处理,因此请随时将其从您的public/index.html 文件。

关于vue.js - 为什么 vuetify 图标不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58210587/

相关文章:

vue.js - Vuejs v-for 循环与标签组合

javascript - 如何从另一个组件 "hide/show" "Expandable Item"组件(类星体)

java - 如何实现 android fab 快速拨号选择器?

javascript - Vue.js 3 事件总线

vue.js - VueJS 和动态标题

javascript - 在 Vue JS 中发布多部分数据(带有额外字段的图像)

javascript - 运行NUXT.js和Axios时如何避免代码重复?

javascript - 如何在我的 React 网站中使用 float 按钮?

angular - 如何在 Material design Angular 6 中设置时间选择器?

javascript - Vue.js - 在悬停时添加删除按钮并在按下按钮时将其删除