我想编辑填写的表单,但没有从下拉元素中获得值
<ion-item style="background-color:transparent">
<ion-label required class="label">Class
<span>
<b style="color:red">*</b>
</span>
</ion-label>
<ion-select [selectOptions]="selectOptions1" value="{{class}}" placeholder="Select Class" formControlName="class">
<ion-option *ngFor="let class of plannerDetail.course.class; let i = index" (ionSelect)="setClassIndex(i)" value="{{class.id}}">{{class.course_name}}</ion-option>
</ion-select>
</ion-item>
ts文件
placeForm: FormGroup;
class: AbstractControl;
constructor(){
this.placeForm.formBuilder.group({
placeId: [’’, Validators.required],
});
this.placeForm.get(‘class’).setValue(myArray.class);
}
答案 0 :(得分:0)
您可以使用ngModel
创建双向数据绑定,如下所示:
.html
<ion-select [(ngModel)]="myVar">...</ion-select>
.ts
myVar = 'optionValue';
它的基本作用是:
.ts
文件中的值时,其值也会在模板中更改因此您可以控制ion-select
值以及您的用户。
答案 1 :(得分:0)
您必须将ionSelect
元素中的ionChange
的方法更改为ion-select
,并给它$event
以便获得类值。在ts文件中创建一个函数,您可以在其中获取其值。
<ion-select placeholder="Select Class" formControlName="class" (ionChange)="setClassIndex($event)">
<ion-option *ngFor="let class of plannerDetail.course.class;let i of index" [value]="class.id">{{class.course_name}}</ion-option>
</ion-select>
ts文件
placeForm: FormGroup;
constructor(public navCtrl: NavController,
public navParams: NavParams,
private fb: FormBuilder) {
this.placeForm = this.fb.group({
class: [``, Validators.required]
});
}
setClassIndex($e) {
this.profileForm.value.class = $e;
}
希望这对您有帮助!