SuperAPI AI 工具集

angular-material

前端与建站

查看项目

更新于 10-15 16:03

技能介绍

Angular Material 是 Angular 官方 UI 组件库,实现 Material Design 3(M3),提供一整套预构建、可访问的组件,以及用于构建自定义组件的 Component Dev Kit(CDK)。本技能基于 Angular Material v21.x(v21.2.0-next.2)生成,生成时间为 2026-01-31。

适用场景

在以下情况使用本技能:

  • 使用 Angular Material 组件(按钮、表单、对话框、表格等)
  • 使用 Material Design 3(M3)调色板、排版、密度进行主题化
  • 使用 mat-form-field、输入框、select、autocomplete 或 datepicker
  • 实现带排序、分页和筛选的数据表格
  • 创建对话框、底部面板、snackbar 或 tooltip
  • 使用 sidenav、菜单、标签页或步骤条构建导航
  • 使用 CDK 原语(overlay、portal、drag-drop、虚拟滚动)
  • 使用 CDK a11y 工具实现可访问组件
  • 创建与 mat-form-field 集成的自定义表单字段控件
  • 使用组件测试 harness 进行可靠测试
  • 使用 Angular Material schematics 搭建组件

以下情况不要使用本技能:

  • 使用其他 UI 库(PrimeNG、ngx-bootstrap 等)
  • 完全自定义 UI,不使用 Material Design
  • 使用 Angular Aria 无头原语(请改用 angular-aria 技能)

核心参考

  • 主题化:M3 主题系统,含调色板、排版、密度和 CSS 变量(core-theming)
  • Schematics:用于搭建组件和生成主题的 Angular CLI schematics(core-schematics)
  • 组件测试 harness:用于可靠、可维护组件测试的测试 harness(core-harnesses)

组件

按钮与指示器

  • 按钮:文本、填充、FAB、图标按钮和按钮切换(component-buttons)
  • 徽章:附加到元素的小型状态描述符(component-badge)
  • 图标:支持字体和 SVG 的矢量图标显示(component-icon)
  • 进度:进度条和加载指示器(component-progress)

表单控件

  • 表单字段:带标签、提示、错误信息的表单字段包装器(component-form-field)
  • 输入:与 mat-form-field 配合的原生 input 和 textarea(component-input)
  • Select:支持单选和多选的下拉选择(component-select)
  • Autocomplete:带下拉建议的文本输入(component-autocomplete)
  • Chips:用于选择、筛选和标签输入的 chips(component-chips)
  • 表单控件:复选框、单选按钮、滑动开关、滑块(component-form-controls)
  • Datepicker:日期和日期范围选择器(component-datepicker)
  • Timepicker:带下拉选项的时间选择(component-timepicker)

布局

  • 卡片:用于文本、图像、操作的内容容器(component-card)
  • 分割线:用于视觉内容分隔的线条分隔符(component-divider)
  • 展开面板:可展开面板和手风琴(component-expansion)
  • 网格列表:用于磁贴的二维网格布局(component-grid-list)
  • 列表:用于项目、导航、操作、选择的列表(component-list)
  • 树:使用平面/嵌套树显示层级数据(component-tree)

导航

  • 导航:sidenav、菜单、工具栏和标签页(component-navigation)
  • 步骤条:向导式工作流与步骤(component-stepper)

表格

  • 表格:带功能的 Material Design 数据表格(component-table)
  • 排序:可排序列标题(component-sort)
  • 分页器:用于分页数据的分页控件(component-paginator)

弹出与模态

  • 对话框:支持数据共享的模态对话框(component-dialog)
  • 底部面板:从底部弹出的模态面板(component-bottom-sheet)
  • Snackbar:简短通知消息(component-snackbar)
  • Tooltip:悬停/聚焦时显示的文本标签(component-tooltip)

CDK(Component Development Kit)

覆盖与定位

  • Overlay:带定位策略的浮动面板(cdk-overlay)
  • Portal:动态内容渲染(cdk-portal)
  • Dialog:无样式模态对话框基础(cdk-dialog)

无障碍

  • Accessibility:焦点管理、键盘导航、实时播报器(cdk-a11y)

数据与集合

  • Table:采用 DataSource 模式的基础数据表格(cdk-table)
  • Tree:层级树显示的基础(cdk-tree)
  • Collections:用于管理选择状态的 SelectionModel(cdk-collections)
  • Virtual Scrolling:高性能渲染大型列表(cdk-scrolling)

布局与响应式

  • Layout:BreakpointObserver 和 MediaMatcher(cdk-layout)
  • Bidi:双向性(LTR/RTL)处理(cdk-bidi)

交互

  • Drag and Drop:重新排序列表和传输项目(cdk-drag-drop)
  • Clipboard:将文本复制到系统剪贴板(cdk-clipboard)
  • Listbox:可访问的自定义列表框控件(cdk-listbox)
  • Menu:可访问的自定义菜单和菜单栏(cdk-menu)

组件基础

  • Accordion:可展开面板组的基础(cdk-accordion)
  • Stepper:向导式工作流的基础(cdk-stepper)

工具

  • Text Field:自动调整大小的 textarea 和自动填充检测(cdk-text-field)
  • Platform:浏览器和平台检测(cdk-platform)
  • Observers:内容变更观察(cdk-observers)
  • Coercion:输入类型强制转换工具(cdk-coercion)
  • Keycodes:键盘键码常量(cdk-keycodes)

高级

  • 自定义表单字段控件:创建自定义 mat-form-field 控件(advanced-custom-form-field)
  • 主题定制:自定义组件中的 CSS 变量和工具类(advanced-theme-customization)