Angular не выполняет код, пока не будет выполнено событие - PullRequest
0 голосов
/ 11 июля 2020

Мое приложение angular начинается со страницы входа. Я добавил отключенное условие для такой кнопки входа в систему;

    <button mat-raised-button color="accent" class="submit-button" aria-label="LOGIN"
            [disabled]="signinForm.invalid">
      Login
    </button>

При запуске приложения chrome автозаполнение заполняет поле имени пользователя и пароля, после чего кнопка входа в систему должна стать активной, но остается отключенной до тех пор, пока нажата клавиша. Я пробовал использовать changeDetectorRef.detectChanges () в ngAfterViewChecked () , но это тоже не работает. Я думаю, что angular не начинает выполнение кода, пока не будет выполнено событие. Есть решение этой проблемы? Я знаю, что мой сценарий не является большой проблемой, но мой клиент хочет убрать такое поведение.

1 Ответ

0 голосов
/ 12 июля 2020

Внутри ngAfterViewChecked() проверьте, не загрязнена ли форма. В случае загрязнения отметьте его прикосновением, позвонив по номеру markAsTouched() в этой форме. Так что signinForm.invalid станет false, и кнопка входа в систему не будет отключена.

   if ( this.signinForm.dirty ){
        this.signinForm.markAsTouched()
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...