ion-select ngModel不能用ionic 4更新

时间:2019-03-15 12:18:04

标签: angular ionic4

我的应用程序已与Ionic 3一起部署,现在我正在迁移到Ionic 4。

Ionic 4的一个问题是使用ngModel和ngModelChange进行离子选择, 看来,当我选择一个选项时,ngModel不会更新,因此不会调度ng​​ModelChange。

我的代码:

<ion-item>
    <ion-label floating>{{ 'Model' | translate }}</ion-label>
    <ion-select name="model" [(ngModel)]="device.model" (ngModelChange)="updateFirmwareList()" [disabled]="!isNew"
              required #model="ngModel" [cancelText]="ionSelecNameCancel" [okText]="ionSelecNameOk" ngDefaultControl>
              <ion-select-option *ngFor="let model of modelList" [value]="model">{{ model }}</ion-select-option>
    </ion-select>
</ion-item>
  • 我已经加载了模块FormsModule。

  • 没有显示错误。

  • 我从ModalController调用组件。

1 个答案:

答案 0 :(得分:1)

如果您同时检查了离子3和离子4 ngModelChange事件,则在单击模式的 Ok 按钮后会被调用。

我已经使用您的以下代码在 StackBlitz 上使用您的代码创建了示例演示。单击“确定”按钮时,我得到一个事件。

<ion-item>
    <ion-label floating>{{ 'Model' }}</ion-label>
    <ion-select name="model" [(ngModel)]="device.model" (ngModelChange)="updateFirmwareList()" [disabled]="!isNew" required #model="ngModel"
     [cancelText]="ionSelecNameCancel" [okText]="ionSelecNameOk" ngDefaultControl>
        <ion-select-option *ngFor="let model of modelList" [value]="model">{{ model }}</ion-select-option>
    </ion-select>
</ion-item>

TS

 updateFirmwareList() {
    console.log('Event Called');
  } 

Ionic 3 Demo on stackblitz

Ionic 4 Demo on stackblitz