簡體   English   中英

Angular自定義表單控件-如果有父ngForm實例如何訪問

[英]Angular custom form control - how to access the parent ngForm instance if there is one

我有一個使用 ControlValueAccessor 的自定義控件,我的控件是一個帶有一堆材料輸入控件的表單。

材料輸入在 3 個案例中顯示紅色驗證下划線。

  1. 控件已被觸摸且無效
  2. 控件臟且無效
  3. 包含該控件的表單已提交,該控件無效

我想在我的自定義控件中模仿這種行為。 我已經使用注入器來獲取對 NgControl 的引用,它可以讓我確定控件是否被觸摸/臟並且無效。 但我不知道如何以通用方式訪問父 NgForm 以確定它是否已提交。

我不想將它顯式傳遞給我的組件,我也不應該這樣做,因為它也沒有被顯式傳遞給材料輸入,但該控件能夠確定表單是否已提交。

如何獲得提交 state 的父 forms 的持有?

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

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

該指令有一個提交的屬性,我可以使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM