当前行为: 我认为这是以前使用角度的问题,但是使用emitEvent:false选项对其进行了角度修复,现在该选项不适用于离子型。 我有一个反应式表单,即使我使用{emitEvent:false}选项也要用reset重置表单时,它会发出一个事件,并运行ionChange,如果选项embedEvent:false,它会运行不正确的行为。
预期的行为: 如果选项emitEvent:false,则ionChange不能运行。
这是我的.html文件中的内容
foreach ($_SESSION['results'] as $row)
这就是我的.ts文件中的内容
<ion-select slot="end" (ionChange)="onProvinceChanged($event)" formControlName="provinceCtrl" [interfaceOptions]="customPopoverOptions" interface="popover" placeholder="{{'province' | translate}}">
<ion-select-option *ngFor="let city of cities" [value]="city.id"> {{city.name | translate}} </ion-select-option>
</ion-select>
我当前的版本
onClearFilter(){ this.form.controls['provinceCtrl'].reset('',{emitEvent: false}); }
答案 0 :(得分:0)
正如我在评论中提到的,ionChange
不在乎如何设置或重置值,它不以任何方式附加到角度形式,它只是侦听值何时更改并相应地起作用,因此{ {1}}在这种情况下不起作用,因为它仅影响形式。
因此,由于它仅影响表单,因此请删除emitEvent: false
并改为收听该formcontrol的ionChange
,因为将valueChanges
设置为{时不会触发valueChanges
{1}}:
emitEvent
还请记住在组件被破坏时退订!