Фотография пользователя исчезает, когда я меняю пароль

У меня есть форма, в которой появляется фотография пользователя. Каждый раз, когда я меняю пароль пользователя, фотография исчезает из формы. Я уже пробовал брать образ формы но это не решило. Смена пароля осуществляется через onSubmit.

HTML:

<form (ngSubmit) = "onSubmit($event)">
  <div class = "modal-header">
    <h5 class = "modal-title" id = "exampleModalLabel">Configuração do Usuário: <b> {{userId?.name}} </b></h5>
    <button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close">
      <span aria-hidden = "true">&times;</span>
    </button>
  </div>
  <div class = "modal-body">
    <div class = "example-container" style = "width: 100%; margin: auto; margin-top: 2%">
      <img class = "img-modal" style = "border-radius: 50%; width: 60px; height: 60px;" src = {{userId?.photo}}>
      <div class = "example-container password-width">
        <mat-form-field>
          <input matInput placeholder = "Alterar a Senha" [type] = "hide ? 'text' : 'password'" [(ngModel)] = "senha" name = "senha">
          <mat-icon matSuffix (click) = "hide = !hide">{{hide ? 'visibility' : 'visibility_off'}}</mat-icon>
        </mat-form-field>
      </div>
      <app-panel-config-user></app-panel-config-user>
    </div>
  </div>
  <div class = "modal-footerButtonConfig">
    <button type = "button" class = "btn btn-danger btn-sm buttonConfig" *ngIf = "userId?.status == 1">Desativar
      Usuário</button>
    <button type = "button" class = "btn btn-success btn-sm buttonConfig" *ngIf = "userId?.status == 0">Ativar
      Usuário</button>
    <button type = "button" class = "btn btn-sm buttonConfig buttonColor" style = "background-color: #6239BD; color: white" *ngIf = "userId?.is_admin == 0">Tornar Administrador</button>
    <button type = "button" class = "btn btn-sm buttonConfig buttonColor" style = "background-color: #6239BD; color: white" *ngIf = "userId?.is_admin == 1">Remover Administrador</button>
  </div>
  <div class = "modal-footer">
    <button type = "button" class = "btn btn-secondary btn-sm" data-dismiss = "modal">Fechar</button>
    <button type = "submit" class = "btn btn-sm buttonColor" style = "background-color: #6239BD; color: white">Salvar</button>
  </div>
</form>

Код смены пароля:

onSubmit(
    userPass: UserPass,
    messageSucess: string = 'Senha alterada com Sucesso!',
    messageError: string = 'Falha ao alterar a senha.',
    action: string = '') {
    userPass.password = this.senha;
    return this.userService.putPass(this.idUser, userPass).subscribe(response => {
      if (!response) {
        console.info(Error);
      } else {
        this.userId = response;

        if (this.userId['success'] === true) {
          this.senha = '';
          this.snackBar.open(messageSucess, action, {
            duration: 4000,
            panelClass: ['success-class']
          });
        } else {
          this.snackBar.open(messageError, action, {
            duration: 4000,
            panelClass: ['error-class']
          });
        }
      }
    });
  }

Что вы получите, если console.info(response) в начале подписки?

Daniel 29.05.2019 21:46

он возвращает: {успех: правда}

Leticia Fatima 29.05.2019 21:48
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
2
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваша проблема в линии

this.userId = response;

Вы устанавливаете идентификатор пользователя для ответа ({success: true}), но ответ не является идентификатором пользователя!

Удалите эту строку, и она снова должна работать.

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