如何从Angular Material的必填字段中删除星号,并在标签旁边添加(可选)以添加可选标签

tec*_*tie 3 angular-material angular

我正在为窗体字段使用angular 2材质设计。因此,每个必填字段都带有星号,这是我不需要的。此外,对于非必填字段,我希望可选文本显示在标签旁边的方括号中。

我正在使用类似下面的方法来实现它,但这是行不通的。

我的代码-

<md-input required md-no-asterisk id="" placeholder="First Name" [(ngModel)]="" ngControl="txtFirstName" #firstName="ngModel"></md-input>
Run Code Online (Sandbox Code Playgroud)

当我删除md-input的开始和结束标签并仅使用输入标签时,星号消失了,但是一些默认的文本显示为该字段的值。

我想使用必填字段和可选字段作为标签。

任何帮助将非常感激。

Shi*_*mar 6

对于仍在寻找答案的人。对于Angular材质5和6。可以使用[hideRequiredMarker]="hideRequired"。在您的组件中,您可以将其值提供为hideRequired =“ true”。这样,您可以根据需要显示或隐藏星号。但是该指令<mat-form-field> 不是输入元素的一部分。

<mat-form-field [hideRequiredMarker]="hideRequiredMarker">
  <input matInput placeholder="Simple placeholder" required>
</<mat-form-field>
Run Code Online (Sandbox Code Playgroud)

确保检查角钢和角钢的版本。这些应该匹配。否则,您会得到错误。谢谢


小智 3

因此,根据我的评论,我查看了 Angular Material 的网站。

看 :

在此输入图像描述

如您所见,有一个after包含星号的组件。使用您自己的 CSS 覆盖此类以摆脱它。

编辑:(optional)使用相同的原则为非必填字段添加文本。