Ionic uses some CustomEvents on its components and with strict TypeScript this might give you console errors like this.

My code was the following:

doReorder(ev: CustomEvent<ItemReorderEventDetail>) { // Finish the reorder and position the item in the DOM based on // where the gesture ended. Update the items variable to the // new order of items this.items = ev.detail.complete(this.items);

The error I got was:

error TS2345: Argument of type 'Event' is not assignable to parameter of type 'Cus tomEvent<ItemReorderEventDetail>'.

Solution

This is due to the behavior of the --strictFunctionTypes compiler flag added in TypeScript v2.6. A function of type (e: CustomEvent) => void is no longer considered to be a valid instance of EventListener , which takes an Event parameter, not a CustomEvent .

You can typecast the CustomEvent to make it go away:

doReorder(ev: Event) { const customEvent = ev as CustomEvent<ItemReorderEventDetail>; // Finish the reorder and position the item in the DOM based on // where the gesture ended. This method can also be called directly // by the reorder group this.items = customEvent.detail.complete();
"Thanks for this amazing book, it is wonderful, throughfull explained and pedagogically crafted with care. Great Book".
Camillos Figuera (Colombia) reviewed Learning Drupal 9 as a framework .