Angular 在角度2中关联2个字段(输入和选择)
我的表单中有两个字段,一个是文本输入,一个是选择。 主要功能是:当我在输入中键入数字时(例如:Angular 在角度2中关联2个字段(输入和选择),angular,angular2-forms,Angular,Angular2 Forms,我的表单中有两个字段,一个是文本输入,一个是选择。 主要功能是:当我在输入中键入数字时(例如:123),它会根据我的选择中选项的值更改选择 问题是,当我键入一个select中不存在的数字时,select输入由该数字设置,但我需要将select设置为“NULL”,否则验证程序在该字段中不起作用 示例:当您键入:001-显示气缸组1,如果002气缸组2,如果003气缸组3,但如果您键入005,例如,它将不显示任何内容(确定),但select的值设置为005,我需要该设置为NULL,因为它是005,在
123
),它会根据我的选择中选项的值更改选择
问题是,当我键入一个select中不存在的数字时,select输入由该数字设置,但我需要将select设置为“NULL”,否则验证程序在该字段中不起作用
示例:当您键入:001-显示气缸组1,如果002气缸组2,如果003气缸组3,但如果您键入005,例如,它将不显示任何内容(确定),但select的值设置为005,我需要该设置为NULL,因为它是005,在验证器中有一个值,但为“fake”值,验证器将传递一个假值,该假值不存在于select中的“我的对象”列表中 普朗克:
银行:
*
{{banks.title}
Preencha o campo banco。
O campo banco aceita somente números。
codBanco(tecla){
此.form3.控制['banco'].patchValue(tecla);
//if(此.form3.controls['banco'].value)
log(this.bancos.code.indexOf(237));
}
银行变更(事件){
this.form3.controls['codBanco'].patchValue(evento.target.value);
}
你能用plunker重现这个吗?请不要使用带有反应式表单的ngModel,你能看到plunker吗?当你键入:001-显示气缸组1,如果002气缸组2,如果003气缸组3,但如果你键入005,例如,它将不显示任何内容(OK),但select的值设置为005,我需要该设置为NULL,因为这在我的母语不是英语时是错误的,我不知道我是否得到了解释
<div class="form-group" [ngClass]="{'has-error':!form3.controls['banco'].valid && form3.controls['banco'].touched}">
<label class="col-sm-2 control-label">Banco:</label>
<div class="input-group">
<span class="input-group-addon">*</span>
<input formControlName="codBanco" type="text" class="form-control" placeholder="Código Banco..."
(keyup)="codBanco($event.target.value)">
<select [(ngModel)]="form3.banco" formControlName="banco" class="form-control"
[class.invalid]="form3.controls['banco'].touched && !form3.controls['banco'].valid" (change)="bankChanged($event)">
<option *ngFor="let banks of bancos" [value]="banks.code">{{banks.title}}</option>
</select>
</div>
<div *ngIf="form3.controls['banco'].hasError('required') && form3.controls['banco'].touched" class="alert alert-danger">Preencha o campo banco.</div>
<div *ngIf="form3.controls['banco'].hasError('pattern') && form3.controls['banco'].touched" class="alert alert-danger">O campo banco aceita somente números.</div>
</div>
codBanco(tecla){
this.form3.controls['banco'].patchValue(tecla);
//if(this.form3.controls['banco'].value)
console.log(this.bancos.code.indexOf(237));
}
bankChanged(evento){
this.form3.controls['codBanco'].patchValue(evento.target.value);
}