通过服务承诺加载表单组值时,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]
在 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>
有关问题的更多详细信息,请查看下图。正如您在图像中看到的那样,当我从后端加载数据时,占位符仍然留在后台
可以在此处找到此问题的解决方案。此问题已在即将发布的 master 分支中修复。
[https://github.com/angular/material2/issues/3117#event-964077880][1]