Angular 占位符上的setValue出现问题
当一个人写年龄时,我将这个值作为日期发送(API就是这样构建的)。 我使用setValue设置表单值,当您提交表单时,它也会更改输入占位符,我不希望这样。 我希望占位符不要更改。 我做错了什么 这是我的 .tsAngular 占位符上的setValue出现问题,angular,typescript,Angular,Typescript,当一个人写年龄时,我将这个值作为日期发送(API就是这样构建的)。 我使用setValue设置表单值,当您提交表单时,它也会更改输入占位符,我不希望这样。 我希望占位符不要更改。 我做错了什么 这是我的 .ts onSubmit() { const birthDateValue = (this.formGroup.get("formArray") as FormArray) .at(0) .get("birthDate"
onSubmit() {
const birthDateValue = (this.formGroup.get("formArray") as FormArray)
.at(0)
.get("birthDate").value;
const birthDateValueControl = (this.formGroup.get("formArray") as FormArray)
.at(0)
.get("birthDate");
const date = new Date();
const year = date.getFullYear() - birthDateValue;
date.setFullYear(year);
birthDateValueControl.setValue(date.toISOString());
console.log(date.toISOString());
console.log(this.formGroup.value);
}
占位符在您提供的示例中没有更改,但是我猜您想重置表单吗? 我认为它是这样的。formGroup.get(“formArray”).reset()-这样,您将返回占位符,即单词“Age”。行 birthDateValueControl.setValue(date.toISOString()) 他对这种行为负责。如果没有必要,请将其删除 ---回应 好的,按如下方式编辑onSubmit()方法:
onSubmit() {
const birthDateValue = (this.formGroup.get("formArray") as FormArray)
.at(0)
.get("birthDate").value;
const birthDateValueControl = (this.formGroup.get("formArray") as FormArray)
.at(0)
.get("birthDate");
// send age as date
const date = new Date();
const year = date.getFullYear() - birthDateValue;
date.setFullYear(year);
const finalDate = date.toISOString();
console.log(date.toISOString());
console.log(this.formGroup.value);
const formArrayData = this.formGroup.get("formArray").value;
const data = {birthDate: "1998-04-26T12:54:33.629Z"};
console.log(data);
// this.service.calculate(data).subscribe(
// (res:any)=>{
// console.log(res);
// },
// err => {
// console.log(err);
// }
// );
// }
}
您好,当您键入年龄并提交表格时,它会发生变化。我希望用户类型保持不变,但我希望发送给Aphi的转换日期我正在将转换后的值发送给API,这就是为什么有必要。当您键入年龄并提交表单时,它会更改占位符。我想要用户类型保留的年龄,但要将转换后的日期发送到apiOk,请按如下方式编辑onSubmit()方法: