Angular自定义表单控件--如果有一个父ngForm实例,如何访问该实例?

问题描述 投票:0回答:1

我有一个使用ControlValueAccessor的自定义控件,我的控件在一个表单中,有一堆材质输入控件。

物料输入在3种情况下显示红色验证下划线。

  1. 控件已被触及,无效。
  2. 脏污和无效的控制
  3. 包含控件的表单已经提交,但控件无效。

我想在我的自定义控件中模仿这种行为。我已经使用注入器来获取NgControl的引用,它让我确定控件是否被触及dirty和无效。但我不知道如何以通用的方式访问父NgForm,以确定它是否被提交。

我不想把它显式地传递到我的组件中,而且我也不应该需要这样做,因为它也没有被显式地传递到素材输入中,但那个控件却能够确定表单是否已经提交。

我如何掌握父表单的提交状态?

angular angular-reactive-forms form-control controlvalueaccessor
1个回答
0
投票

最后我在注入器中找到了,只好抓取FormGroupDirective

const formgroup: FormGroupDirective = this.injector.get(FormGroupDirective, null);

该指令有一个提交的属性,我能够使用

© www.soinside.com 2019 - 2024. All rights reserved.