2017-02-15 3 views
0

angular2では、私の入力に新しいデータをロードしようとしています。私はHTMLをきれいに保ち、コンポーネントtsファイルにさらに多くの検証ロジックを持たせるためにformgroupを使用しています。フォーム要素をレンダリングする私のコードは以下の通りです: -サービスから約束してフォームグループの値を読み込むときにmd-inputプレースホルダーが消えない

constructor(private _fb: FormBuilder, private userService: UsersService, 
     private router: Router, private accountRoutes: AccountRoutes) { 
     this.myForm = 

      this.myForm = this._fb.group({ 
       user: this._fb.group({ 
        "EmailAddress": [null, Validators.compose([ 
         Validators.required 
        ])] 
       }) 
      }); 

    } 
ngOnInit() { 

     this.userService.GetUser().subscribe(
      (response) => { 
       this.user = { 
        EmailAddress: "[email protected]",//response.EmailAddress, 
        FirstName: response.FirstName, 
        MiddleName: response.MiddleName, 
        Surname: response.Surname, 
        Password: "", 
        ConfirmPassword: "" 
       }; 
       this.myForm.controls["user"].setValue(this.user, { onlySelf: true }); 
      }); 

}); }

とHTMLコードは以下の通りです:

<md-card-content fxLayout="column" formGroupName="user"> 
    <md-input-container> 
    <input md-input placeholder="Email" formControlName="EmailAddress" 
           type="email" name="EmailAddress" /> 
    </md-input-container> 
</md-card-content> 

問題の詳細については、以下の画像をご覧ください。画像でわかるように、バックエンドからデータをロードしたときにプレースホルダがバックグラウンドに残っています enter image description here しかし、バックエンドAPIからフォーム要素のデータを読み込んでも、プレースホルダは上がっていません。

+0

は、私はそれがMD-入力に加算取得されますが、削除されません取得MD-空のクラスで犯人を見つけました。 " "なぜこれがmd-inputから削除されていないのかわかりません –

答えて

関連する問題