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

如何用MatIcon获取assignment_returned轮廓版图标?为何assignment_outline失效?

为什么Angular Material 5里assignment_outline(或assignment_returned_outline)图标无法工作?

哥们,完全懂你脑子混乱的状态,这真不是愚蠢的问题!咱们一步步捋清楚:

先看你的代码情况

你测试的代码:

<mat-icon>info</mat-icon>
<mat-icon>info_outline</mat-icon> -- 可正常工作
<mat-icon>assignment</mat-icon>
<mat-icon>assignment_outline</mat-icon>--无法工作

这里还有个小误区:你想获取的是assignment_returned的outline版,它的正确图标名称应该是assignment_returned_outline,而非assignment_outline(后者是基础assignment图标的outline版)。但哪怕用对了名称,在Angular Material 5里还是没法用,核心原因如下:

核心问题:版本兼容性导致图标缺失

Angular Material的图标库是同步Material Icons字体版本的,而你用的Angular Material 5版本太旧:

  • info_outline是Material Icons里很早就有的outline样式图标,所以Angular Material 5的图标库已经收录,能正常显示;
  • 你想要的assignment_returned_outline(或assignment_outline)是后来才加入Material Icons的,Angular Material 5对应的图标库版本还没包含这些样式,自然无法识别和显示。

可行的解决办法

给你几个靠谱的方案:

  • 升级Angular Material版本:把项目的Angular Material升级到v6及以上,这些版本会同步更新Material Icons的内容,直接使用assignment_returned_outline就能正常显示;
  • 用SVG图标替代:从Material Design官网下载assignment_returned的outline版SVG文件,通过Angular Material的MatIconRegistry注册这个图标,之后就能在组件里使用,这个方法不受版本限制,兼容性最好;
  • 手动引入最新字体(可选):直接在项目里引入最新的Material Icons字体,尝试使用assignment_returned_outline,不过旧版Angular Material的mat-icon组件可能无法识别新图标名,这个方法成功率不高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:40:40