我使用的是 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>
结果是这样的:
在我的 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/