我在角度应用程序中使用角度材料2。当表单输入字段错误消息超过一行时,我遇到了问题。这是照片:
以下是代码:
<md-error *ngIf="password.touched && password.invalid">
<span *ngIf="password.errors.required">
{{'PASSWORD_RECOVERY.FIELD_REQUIRED' | translate}}
</span>
<span *ngIf="password.errors.minlength || password.errors.maxlength">
{{'PASSWORD_RECOVERY.PASSWORD_LENGTH' | translate}}
</span>
<span *ngIf="password.errors.pattern">
{{'PASSWORD_RECOVERY.FOR_A_SECURE_PASSWORD' | translate}}
</span>
</md-error>
我通过阅读github了解到,这是角质2材料中的一个错误。有人通过自定义解决方法设法解决了这个问题吗?
答案 0 :(得分:1)
问题是类.mat-form-field-subscript-wrapper
的元素是position: absolute
,所以它不占用真实空间。
根据on this issue on github的建议xumepadismal,您可以添加此scss作为解决我的问题的解决方法:
// Workaround for https://github.com/angular/material2/issues/4580.
mat-form-field .mat-form-field {
&-underline {
position: relative;
bottom: auto;
}
&-subscript-wrapper {
position: static;
}
}
它转换静态div中的.mat-form-field-subscript-wrapper
节点,并在输入字段后面重新定位.mat-form-field-unterline
。
答案 1 :(得分:-3)
mat-form-field.ng-invalid.ng-touched {animation: example;animation-duration: 0.3s;margin-bottom: 20px;}
@keyframes example {from {margin-bottom: 0;}to {margin-bottom: 20px;}}
对我有用。