Угловые валидаторы, работающие до @Input - PullRequest
0 голосов
/ 04 мая 2018

У меня есть компонент, который на самом деле является элементом управления формой. Этот отдельный компонент принимает входные данные (@Input) и должен передавать их валидатору формы. Проблема заключается в том, что средство проверки формы запускается до определения ввода. Таким образом, результатом является валидатор с неопределенными параметрами. Каково решение?? Спасибо ...

export class InputComponent{

  @Input() min: number; 
  @Input() max: number; 

  formControl: FormControl;

  constructor() {

    this.formControl = new FormControl('', [
      Validators.required,
      CustomValidators.minMaxlength(this.min, this.max)
    ]);

  }

}

1 Ответ

0 голосов
/ 04 мая 2018

В Angular компонентные входы не полностью разрешены, пока не будет вызван хук жизненного цикла ngOnInit. В компонентах вы обычно не хотите, чтобы в конструкторе было много чего-либо, и большая часть инициализации должна выполняться в хуке ngOnInit или более поздних версиях.

export class InputComponent{

  @Input() min: number; 
  @Input() max: number; 

  formControl: FormControl;

  constructor() {}


 ngOnInit() {
    this.formControl = new FormControl('', [
      Validators.required,
      CustomValidators.minMaxlength(this.min, this.max)
    ]);

  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...