Как сбросить ng-select в реактивной форме через FormGroup (AbstractControl) в Angular 9?

У меня есть FormGroup с кучей элементов ng-select. У меня также есть следующий код, который сбрасывает все значения в реактивной форме, кроме элементов ng-select.

  Object.keys(this.myFormGroup.controls).forEach(key => {
    const currentControl = this.myFormGroup.controls[key];
    if (currentControl == null) {
      currentControl.reset();
    }
  });

Я тоже пробовал currentControl.patchValue('') и с null, но это не работает. Когда я загружаю неправильный "item" в ng-select он имеет выбранное значение "undefined"и я хочу очистить это значение по умолчанию, когда оно undefined. Вот почему я использую== null.

Даже если у вас есть хакерское решение JavaScript (Vanilla), поделитесь им.

1 ответ

Вы пытались передать начальное значение, на которое хотите сбросить ng-select; внутри функция сброса вот так?

    Object.keys(this.myFormGroup.controls).forEach(key => {
    const currentControl = this.myFormGroup.controls[key];
    if (currentControl == (null || undefined)) {
      currentControl.reset('');
    }
  });

Я также добавил проверку на неопределенное контрольное значение.

Другие вопросы по тегам