通过服务承诺加载表单组值时,md-input 占位符不会消失

md-input placeholder doesn't fade when loading formgroup value via promise from service

在 angular2 中,我正在尝试将数据加载到我的输入的新方法。我正在使用 formgroup,这样我就可以保持我的 HTML 干净,并在组件 ts 文件中有更多的验证逻辑。我呈现表单元素的代码如下:-

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: "aaa@aaa.com",//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>

有关问题的更多详细信息,请查看下图。正如您在图像中看到的那样,当我从后端加载数据时,占位符仍然留在后台 但是每当我从后端加载表单元素的数据时 API 占位符不会向上移动。

可以在此处找到此问题的解决方案。此问题已在即将发布的 master 分支中修复。

[https://github.com/angular/material2/issues/3117#event-964077880][1]