对于什么控件我应该使用 md-input-container

For what controls should I use md-input-container

我可以在具有 angular material 设计的 "md-input-container" 中放置哪些控件?

我之所以这样问,是因为这个例子:

<md-input-container>
   <input flex="" flex min="0" max="20" type="number" ng-model="testNumber">
</md-input-container>

为什么我要查看 "Spinner" 又名滑块示例:

https://material.angularjs.org/latest/demo/slider

没有使用 md-input-container。但是只有当我用 md-input-container 包装类型 number 的输入时,微调器的外观才像 material 组件一样正确。

查看 md-input-container 的 API: https://material.angularjs.org/latest/api/directive/mdInputContainer

他们只提到 "Input" 和 "TextArea"

好的输入可以是任何类型...

当我现在再次回顾 spinner/slider 个示例时,它们都没有使用 md-input-container。

所以这里有些错误或未记录。

md-input-container 必须是任何类型输入(文本、数字、日期等)的父容器才能获得 material 的外观和感觉。

但是,如果您不需要这些 material 样式的占位符、标签和验证,您仍然可以使用未嵌套在容器中的输入。滑块示例就是这种情况。

md-input-container 仅支持:

  • input
  • textarea

每个 md-input-container 中只能有 1 个输入,否则将抛出异常。

md-slider 演示和文档已全部更新为使用 md-input-container

许多 input types 喜欢 emailweeknumbermonthpasswordsearch、[= md-input-container.

支持 21=、texttime

以下类型可能没有理想的行为:

  • checkbox - md-checkbox 首选
  • image - ng-click img 首选
  • radio - md-radio-buttonmd-radio-group 首选
  • file - Chrome
  • 中的占位符对齐已关闭
  • submit - md-button 首选
  • reset - md-button 首选
  • range - md-slider 首选

如果您在项目中使用输入,请确保使用 angular-aria 模块。它会自动使您的应用更易于访问并符合与可访问性相关的标准。