angular - ion-select ngModel 未使用 ionic 4 进行更新

标签 angular ionic4

我的应用程序是使用 Ionic 3 部署的,现在我正在迁移到 Ionic 4。

Ionic 4 遇到的一个问题是使用 ngModel 和 ngModelChange 进行 ionic 选择, 似乎当我选择一个选项时 ngModel 没有更新,因此 ngModelChange 没有调度。

我的代码:

<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 调用组件。

最佳答案

如果您同时 checkin 了 ionic 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

关于angular - ion-select ngModel 未使用 ionic 4 进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55182451/

相关文章:

typescript - 如何使用 ionic 4 在网络浏览器中打开 pdf?

angular - 使用 DefinitelyTyped 在 Angular2 上使用 Interact.js

Angular 2 RC 5 路由器

angular - 如何在 Angular 6 的 keyup 事件中实现去抖动时间

html - ionic 4 ion-select-option 文本换行

ios - Ionic 4准备iOS发布时如何处理console.log?

javascript - 如何在 Ionic 4 中导入 crypto-js

javascript - Angular 5 : Using Service from inside Custom Decorator Function

javascript - 将 .CSS 文件导入 ionic 2 应用程序

camera - 当我添加 QRScanner 时,Ionic App 显示空白屏幕