Angular 6 Mat-Select 没有通过http GET请求定义user.email
Angular 6 Mat-Select does not define user.email through http GET request
我想用 FormGroup 创建一个 select。用户可以 select 来自的数据来自 GET 请求。
Adminpanel.ts
this.userservice.getallusers().subscribe((res: any) =>{
for (let index = 0; index < res.length; index++) {
this.users[index] = res[index];
this.usersemails[index] = this.users[index].email;
console.log(this.usersemails[index]);
}
});
数据通过 for 循环并分配给数组 usersemails[index]
。
数组正确填充。
FormGroup 来自 HTML
<form [formGroup]="AddxpForm" (ngSubmit)="addxponSubmit()">
<mat-form-field class="geo-full-width">
<input matInput placeholder="Amount of XP" type="number" name="User_xp" formControlName="user_xp">
</mat-form-field>
<mat-select placeholder="User email" name="useremail" fromControlName="useremail">
<mat-option *ngFor="let useremail of usersemails" [value]="useremail">
{{useremail}}
</mat-option>
</mat-select>
<button mat-raised-button class="geo-full-width" type="submit" [disabled]="!AddxpForm.valid">Add UserXP</button>
</form>
</div>
select 也有效,因为我可以 select 通过 HTTP GET 请求收到的电子邮件。但是当我再次尝试 post 时,正文电子邮件保持 undefined
.
从ts文件提交函数
addxponSubmit(){
this.user.email = this.AddxpForm.value.useremail;
this.user.experience = this.AddxpForm.value.user_xp
console.log(this.AddxpForm);
console.log(this.user);
}
有人能告诉我我做错了什么吗?
正如 fridoo 评论的那样,问题是打字错误,您可以在这里检查表格是否正常工作:
https://stackblitz.com/edit/mat-select-stack?embed=1&file=src/app/app.component.ts
我想用 FormGroup 创建一个 select。用户可以 select 来自的数据来自 GET 请求。
Adminpanel.ts
this.userservice.getallusers().subscribe((res: any) =>{
for (let index = 0; index < res.length; index++) {
this.users[index] = res[index];
this.usersemails[index] = this.users[index].email;
console.log(this.usersemails[index]);
}
});
数据通过 for 循环并分配给数组 usersemails[index]
。
数组正确填充。
FormGroup 来自 HTML
<form [formGroup]="AddxpForm" (ngSubmit)="addxponSubmit()">
<mat-form-field class="geo-full-width">
<input matInput placeholder="Amount of XP" type="number" name="User_xp" formControlName="user_xp">
</mat-form-field>
<mat-select placeholder="User email" name="useremail" fromControlName="useremail">
<mat-option *ngFor="let useremail of usersemails" [value]="useremail">
{{useremail}}
</mat-option>
</mat-select>
<button mat-raised-button class="geo-full-width" type="submit" [disabled]="!AddxpForm.valid">Add UserXP</button>
</form>
</div>
select 也有效,因为我可以 select 通过 HTTP GET 请求收到的电子邮件。但是当我再次尝试 post 时,正文电子邮件保持 undefined
.
从ts文件提交函数
addxponSubmit(){
this.user.email = this.AddxpForm.value.useremail;
this.user.experience = this.AddxpForm.value.user_xp
console.log(this.AddxpForm);
console.log(this.user);
}
有人能告诉我我做错了什么吗?
正如 fridoo 评论的那样,问题是打字错误,您可以在这里检查表格是否正常工作:
https://stackblitz.com/edit/mat-select-stack?embed=1&file=src/app/app.component.ts