【发布时间】:2019-10-24 04:07:26
【问题描述】:
我是 Angular 开发领域的新手,我从一个简单的出租车预订表开始。我附加了一个带有 2 个属性的数组的 Material-Select 字段:
{value: 24, view: '1010 - Vienna'}
效果很好,但是当我提交表单并检查 console.log 字段 zip 等于 24 时。我怎样才能实现,ngModel 绑定到我的下拉列表的视图属性?
非常感谢!
预期行为:
- 当我通过 onSubmit() 提交表单时,表单对象的属性 zip 应该输出“1010 - Innere Stadt”而不是 24
我想将它包含在 ngForm 创建的 Form 对象中,然后我可以直接将其发送到我的 Express API 以将其存储在数据库中。下面附上图片
app.component.html
<form (ngSubmit)="onSubmit(form)" #form="ngForm">
<mat-select placeholder="Postleitzahl" [(ngModel)]="zipValue" name="zip">
<mat-option *ngFor="let z of zip" [value]="z.value" >{{z.view}}
</mat-option>
</mat-select>
<button type="submit">submit</button>
</form>
app.component.ts
import { Component, OnInit, OnChanges } from '@angular/core';
import { NgForm } from '@angular/forms';
@Component({
selector: 'app-form-de',
templateUrl: './form-de.component.html',
styleUrls: ['./form-de.component.css']
})
export class FormDeComponent {
zip = [
{ view: '1010 - Innere Stadt', value: 24 },
{ view: '1020 - Leopoldstadt', value: 25 },
]
onSubmit(form: NgForm) {
console.log(form.value);
}
}
【问题讨论】:
-
ngModel 用于维护重要的数据值。如果“视图”是您想要的,请将您的 inModel 更改为 zipView 而不是 zipValue。
-
嗨 @David 我想你想被选中
zip对象
标签: javascript angular angular-material angular-ngmodel angular-forms