【发布时间】:2019-10-22 17:28:57
【问题描述】:
使用ComponentFactoryResolver 动态创建组件很简单,但是当我尝试对<mat-form-field> 中的Angular Material <mat-error> 组件执行此操作时,它似乎不会将创建的组件投影到父组件中.我一直在使用 Netanel Basal 的 example 和 Bootstrap 组件,它非常适合生成表单控制错误,但由于 Angular Material 中使用 <mat-error> 的内容投影,我似乎无法让它适用于 Angular Material v8.2.1.
是否可以在<mat-form-field> 中动态创建<mat-error> 并使其内容项目正确?
【问题讨论】:
-
有一些我们可以查看的代码..?
-
为什么需要这样做?一个
mat-form-field只需要一个mat-error——动态改变错误内容很简单。 -
发布一个 stackblitz 会很有帮助,您正在使用的 @angular/material 版本......
MatFormField已经发生了一些变化 -
@G.Tranter 我们不想将
mat-error添加到可以按需动态生成的每个表单字段中。我们绝对可以有一个mat-error,然后应用一个方法{{ getError('formGroup.formControl') }},并查看错误消息,但我们会将该方法添加到每个组件,它只会增加模板膨胀。 -
@mt@mtpultz 如果您有这么多表单字段并且计算错误的规则在它们之间是一致的,那么您可以根据处理错误处理的
mat-form-field创建自己的组件。跨度>
标签: angular angular-material angular-reactive-forms