如何从数据库获取数据并使用setValue或patchValue

时间:2019-04-05 02:39:27

标签: angular typescript

如何从数据库中获取数据并将数据库中的数据设置到输入框中

以下是我的一部分代码

获得服务

getStudentAddress() {
 const id = sessionStorage.getItem('userId');
 return this.http.get('http://localhost:8080' + '/student/' + id);
}

getStudentAddress()将返回类似以下内容的学生数据

An Array of student data from backend

在我的组件中,如何获取数据并将其放在输入框上,当页面打开时,该输入框将自动显示数据

ngOnInit() {

 // Here should the display is from the database by using setValue or patchValue
 this.studentForm.setValue({
  s_pNumber: '1234',
  s_address: '123',
  s_address2: '123',
  s_pCode: '123',
  s_city: '123',
  s_state: '123',
  s_country: '123'
});

1 个答案:

答案 0 :(得分:1)

您应该通过订阅API调用来返回可观察的值,然后使用patchValue将其分配给您的反应形式。我假设您的FormControl名称与该对象中的属性相同。在您的component.ts上,

constructor(private crudService: crudService) { }

ngOnInit() {
  this.crudService.getStudentAddress().subscribe((response: any) => {
    this.studentForm.patchValue(response.data);
  });   
}