1

我有一个使用 ControlValueAccessor 的自定义控件,我的控件是一个带有一堆材料输入控件的表单。

材料输入在 3 个案例中显示红色验证下划线。

  1. 控件已被触摸且无效
  2. 控件脏且无效
  3. 包含该控件的表单已提交,该控件无效

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

我不想将它显式传递给我的组件,我也不应该这样做,因为它也没有被显式传递给材料输入,但该控件能够确定表单是否已提交。

如何获取提交状态的父表单?

4

1 回答 1

1

我最终在注射器中找到了它,不得不抓住 FormGroupDirective

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

该指令有一个提交的属性,我可以使用

于 2020-05-22T18:47:31.157 回答