我有一个使用角形的网页。该页面基本上是用户数据,因此显示用户的姓名,电话,邮件等。这些数据是使用mongoDB数据库获取的。我希望它默认显示已在占位符中设置的值,并且希望用户也可以更改它。如果他们在字段中未输入任何内容,则应传递的值是占位符。例如,值{{this.cliente.nome}}处于与输入字段不同的字段中,但是当我尝试将其用作输入的默认值时,它将不起作用。当另一个工作时,它说“无法读取未定义的属性'nome'”。数据来自mongoDB,但不正确。这是我的代码:
SELECT ID,
CHAR_LENGTH(js) - CHAR_LENGTH(REPLACE(js, 'true', SPACE(LENGTH('true')-1)))
AS Cnt_True,
CHAR_LENGTH(js) - CHAR_LENGTH(REPLACE(js, 'false', SPACE(LENGTH('false')-1)))
AS Cnt_False
FROM
( SELECT *, JSON_EXTRACT(jsdata, '$.*') AS js
FROM tab ) t
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");
}
}
答案 0 :(得分:1)
您正在使用FormBuilder
,因此未使用value
的{{1}}属性。初始值由input
从FormControl
constructor
修改this.updateForm = this.formBuilder.group({
nomeUpdate: this.formBuilder.control("")
})
getCliente()
已添加.pipe(first()),因此仅使用接收到的第一个值。
希望有帮助!