입력 기본값을 설정할 수 없음 (Angular)

페르 니 두이

각도 형식을 사용하는 웹 페이지가 있습니다. 이 페이지는 기본적으로 사용자 데이터이므로 사용자의 이름, 전화 번호, 메일 등을 보여 주며, 데이터는 mongoDB 데이터베이스를 사용하여 가져옵니다. 기본적으로 자리 표시 자에 이미 설정된 값을 표시하고 사용자도 변경할 수 있기를 바랍니다. 필드에 아무것도 입력하지 않으면 전달되어야하는 값이 자리 표시 자입니다. 예를 들어 {{this.cliente.nome}} 값이 입력 필드와 다른 필드에 있지만 입력 기본값으로 사용하려고하면 작동하지 않습니다. 다른 하나가 작동하면 "Undefined의 'nome'속성을 읽을 수 없습니다."라고 표시됩니다. mongoDB에서 데이터가 올바르지 만 작동하지 않습니다. 이것은 내 코드입니다.

import { Component, OnInit } from '@angular/core';
import { UserService } from '../user.service';
import { User } from 'src/user';
import { FormGroup, FormControl, FormArray, FormBuilder } from "@angular/forms";
import { Router } from '@angular/router';

@Component({
  selector: 'app-cliente-dados',
  templateUrl: './cliente-dados.component.html',
  styleUrls: ['./cliente-dados.component.css']
})
export class ClienteDadosComponent implements OnInit {

  cliente: User;
  updateForm: FormGroup;

  constructor(
    private userService: UserService,
    private formBuilder: FormBuilder,
    public router: Router
  ) { 
    this.updateForm = this.formBuilder.group({
      nomeUpdate: this.formBuilder.control("")
    })
  }

  ngOnInit(): void {
    this.getCliente();
  }

  getCliente(){
    this.userService.getUser(localStorage.getItem('userAtual')).subscribe(user => {
      this.cliente = user[0];
    }); 
  }

  updateCliente(updateData){
    console.log("update");
  }

}
<form [formGroup]="updateForm" (ngSubmit)="updateCliente(updateForm.value)">
    <div class="data">
        <img id="iconePerfil" src="assets/Imagens/Icones/perfil.png">
        <div id="informacaoRegisto">
            <div class="container">
                <label id="nome"><strong>{{this.cliente.nome}} <!--This one shows the value--></strong></label>
                <input class="input" type=" text " [(value)]="this.cliente.nome" formControlName="nomeUpdate"> <!--Here the value isn't shown-->
                <span class="border"></span>
            </div>
           </div>
          </div>
          <button type="submit" class="submit">Atualizar Dados</button>
          </form>

문제의 표현 : 상하 값이 표시됨 (입력란이 아님) 중간 값이 표시되지 않음 (기본값이있는 입력란)

T. Sunil Rao

귀하는 사용 FormBuilder하고 있으므로의 value속성은 input사용되지 않습니다. 초기 값은FormControl

다음을 제거하십시오. constructor

this.updateForm = this.formBuilder.group({
  nomeUpdate: this.formBuilder.control("")
})

수정 getCliente()

getCliente(){
  this.userService.getUser(localStorage.getItem('userAtual'))
  .pipe(first()).subscribe(user => {
    this.cliente = user[0];
    this.updateForm = this.formBuilder.group({
      nomeUpdate: this.formBuilder.control(this.cliente.nome)
    })
  }); 
}

.pipe (first ())를 추가하여받은 첫 번째 값만 사용됩니다.

도움이 되었기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

입력 기본값을 설정할 수 없음 (Angular)

분류에서Dev

MVC5, Html 입력 번호, 기본 10 진수 값을 설정할 수 없음

분류에서Dev

Winform ComboBox- 기본값을 설정할 수 없음

분류에서Dev

지시문 입력 값을 설정할 수 없습니다.

분류에서Dev

angularjs에 입력 할 기본 십진수 값을 설정하는 방법

분류에서Dev

HSQLDB-기본값을 -1로 설정할 수없는 이유

분류에서Dev

swappiness에 대한 기본값을 설정할 수 없습니다.

분류에서Dev

SynPS / 2 Synaptic의 기본값을 설정할 수 없습니다.

분류에서Dev

기본 VSCode JSON 설정을 편집 할 수 없음

분류에서Dev

msconfig-기본 설정을 저장할 수 없음 (Windows 10 1703)

분류에서Dev

Angular Forms : patchValue 후 필드에 입력 할 수 없음

분류에서Dev

Angular2 입력 유형 번호, 십진수 값 없음

분류에서Dev

JQuery는 HTML 입력 컨트롤의 값을 설정할 수 없습니다.

분류에서Dev

새 입력 필드를 동적으로 삽입 한 후 입력 값을 설정할 수 없습니다.

분류에서Dev

Android EditText-값을 입력 할 수 없음

분류에서Dev

Scientific을 사용할 때 'Double'을 입력하도록 다음 제약 조건을 기본값으로 설정

분류에서Dev

DLL 속성을 설정할 수 없음

분류에서Dev

Typescript tapAsync 함수가 올바른 입력을 설정할 수 없습니다.

분류에서Dev

입력 필드에 연결할 수 없음-정의되지 않은 '값'속성을 읽을 수 없습니다.

분류에서Dev

appcelerator CLI를 설치할 수 없음-예기치 않은 입력 종료

분류에서Dev

Qt5- 기본값을 다운로드 할 수 없음

분류에서Dev

자바 스크립트를 사용하여 Google 설문지에 입력 값을 설정할 수 없습니다.

분류에서Dev

Django에서 기본 양식 값을 설정할 수 없습니다.

분류에서Dev

Flask-wtf는 DateTimeField의 기본값을 설정할 수 없습니다.

분류에서Dev

MVC 5에서 Html.DropDownList의 기본값을 설정할 수 없습니다.

분류에서Dev

angularjs 공장 내에서 http 기본값을 설정할 수 없습니다.

분류에서Dev

읽기 전용 입력 텍스트를 재설정 할 수 없습니다.

분류에서Dev

ssrs- "사용 가능한 값"이 설정된 경우 "기본값"을 설정할 수 없습니다.

분류에서Dev

UDP 입력이있는 Docker의 Graylog 2.2.0-beta.1 : 기본 스트림을로드 할 수 없음

Related 관련 기사

  1. 1

    입력 기본값을 설정할 수 없음 (Angular)

  2. 2

    MVC5, Html 입력 번호, 기본 10 진수 값을 설정할 수 없음

  3. 3

    Winform ComboBox- 기본값을 설정할 수 없음

  4. 4

    지시문 입력 값을 설정할 수 없습니다.

  5. 5

    angularjs에 입력 할 기본 십진수 값을 설정하는 방법

  6. 6

    HSQLDB-기본값을 -1로 설정할 수없는 이유

  7. 7

    swappiness에 대한 기본값을 설정할 수 없습니다.

  8. 8

    SynPS / 2 Synaptic의 기본값을 설정할 수 없습니다.

  9. 9

    기본 VSCode JSON 설정을 편집 할 수 없음

  10. 10

    msconfig-기본 설정을 저장할 수 없음 (Windows 10 1703)

  11. 11

    Angular Forms : patchValue 후 필드에 입력 할 수 없음

  12. 12

    Angular2 입력 유형 번호, 십진수 값 없음

  13. 13

    JQuery는 HTML 입력 컨트롤의 값을 설정할 수 없습니다.

  14. 14

    새 입력 필드를 동적으로 삽입 한 후 입력 값을 설정할 수 없습니다.

  15. 15

    Android EditText-값을 입력 할 수 없음

  16. 16

    Scientific을 사용할 때 'Double'을 입력하도록 다음 제약 조건을 기본값으로 설정

  17. 17

    DLL 속성을 설정할 수 없음

  18. 18

    Typescript tapAsync 함수가 올바른 입력을 설정할 수 없습니다.

  19. 19

    입력 필드에 연결할 수 없음-정의되지 않은 '값'속성을 읽을 수 없습니다.

  20. 20

    appcelerator CLI를 설치할 수 없음-예기치 않은 입력 종료

  21. 21

    Qt5- 기본값을 다운로드 할 수 없음

  22. 22

    자바 스크립트를 사용하여 Google 설문지에 입력 값을 설정할 수 없습니다.

  23. 23

    Django에서 기본 양식 값을 설정할 수 없습니다.

  24. 24

    Flask-wtf는 DateTimeField의 기본값을 설정할 수 없습니다.

  25. 25

    MVC 5에서 Html.DropDownList의 기본값을 설정할 수 없습니다.

  26. 26

    angularjs 공장 내에서 http 기본값을 설정할 수 없습니다.

  27. 27

    읽기 전용 입력 텍스트를 재설정 할 수 없습니다.

  28. 28

    ssrs- "사용 가능한 값"이 설정된 경우 "기본값"을 설정할 수 없습니다.

  29. 29

    UDP 입력이있는 Docker의 Graylog 2.2.0-beta.1 : 기본 스트림을로드 할 수 없음

뜨겁다태그

보관