【问题标题】:Angular Material 2 Form ElementsAngular Material 2 表单元素
【发布时间】:2018-03-13 15:46:29
【问题描述】:

我正在开发一个 Angular Web 应用程序,使用:

  • Angular 4.1.2
  • Angular 材质 2.0.0-beta.11

我正在尝试创建一个简单的模式对话框,该对话框在打开时会提供一些输入字段供用户完成和提交。我的对话框将包含:

  • 简单的文本输入。
  • 下拉列表
  • 日历选择器

首先,我只添加了一个文本输入字段和一个选择下拉列表。我不明白是否需要创建<form> 并将每个元素包装在<md-form-field> 中。当我尝试这个时,我得到一个错误:

md-form-field must contain a MdFormFieldControl. Did you forget to add mdInput to the native input or textarea element?

如果我不将 <md-select> 元素包装在 <md-form-field> 中,我不会出错,但样式与上面的 <input> 元素不同。

我不知道如何在同一个模态对话框中包含所有 3 个样式相同的 UI 组件。非常欢迎任何建议。

【问题讨论】:

    标签: angular angular-material2


    【解决方案1】:

    输入和选择之间的样式不匹配一直是 Angular Material 中的一个持续问题。最近刚刚通过共享尽可能多的 css 解决了这个问题,这引发了从 md-input-containermd-form-field 的变化。您现在可以将选择和输入放在 md-form-field 中,它们一起看起来很棒。

    但是,这些更改在 beta.11 中不可用。您可以通过安装material2-builds 来使用它们,否则必须等待 beta.12 发布。

    同时,您可以覆盖 CSS(this thread 中的结帐解决方法)。

    【讨论】:

    • 感谢您的及时答复。如果我尝试将<md-select> 放在<md-form-field> 中,我会收到错误消息:md-form-field 必须包含 MdFormFieldControl。这是可以预料的吗?如果我删除 <md-form-field> 我没有错误,但样式不匹配。
    • 是的,这是预期的。 md-form-field 在 beta.11 中不支持 md-select
    • 另外,将您的角度版本更新为4.4.3。 Material 2.0.0-beta.11 适用于 4.4.3 或更高版本。
    • 好建议。我注意到 beta-12 现在可用并与 Angular 4.4.4 结合使用,我发现您可以在表单字段中放置一个选择,它可以工作并且看起来很棒。
    猜你喜欢
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多