我将Angular7与Angular Material一起使用,我有一个包含包含mat-select的组件的表单。 从我的组件中进行选择的形式起作用,但不能进入我的组件。
在此堆叠闪电中可见:https://stackblitz.com/edit/angular-hqkcgq
实际结果是,提交表单不会发送select的值,但必须发送。 提交表单时,您可以在控制台中看到。
编辑:stackblitz已编辑,现在可以根据我的需要
答案 0 :(得分:1)
为了将来,请在问题本身中添加所有相关代码。 StackBlitz很棒,但它应该只是对问题的补充:)
但是对于您的代码,您需要在子组件中提供ControlContainer
。因此,添加到您的代码中:
import { ControlContainer, NgForm } from '@angular/forms';
@Component({
selector: 'my-comp',
templateUrl: './my-comp.component.html',
viewProviders: [ { provide: ControlContainer, useExisting: NgForm } ]
})
请参阅真棒Alexey Zuev的文章: Nested Template driven Forms
作为一个附带说明,在您提供的所有[ngModel]="''"
地方,您都可以使用ngModel
来注册表单控件。