diff --git a/core/src/components/list/list.tsx b/core/src/components/list/list.tsx index cb31f3dbcbf..fc196eb6a9c 100644 --- a/core/src/components/list/list.tsx +++ b/core/src/components/list/list.tsx @@ -1,4 +1,4 @@ -import { Component, Prop } from '@stencil/core'; +import { Component, Element, Method, Prop } from '@stencil/core'; import { Mode } from '../../interface'; import { createThemedClasses } from '../../utils/theme'; @@ -11,7 +11,14 @@ import { createThemedClasses } from '../../utils/theme'; } }) export class List { - mode!: Mode; + + @Element() el!: HTMLElement; + + /** + * The mode determines which platform styles to use. + * Possible values are: `"ios"` or `"md"`. + */ + @Prop() mode!: Mode; /** * How the bottom border should be displayed on all items. @@ -24,6 +31,15 @@ export class List { */ @Prop() inset = false; + @Method() + async closeSlidingItems(): Promise { + const item = this.el.querySelector('ion-item-sliding'); + if (item && item.closeOpened) { + return item.closeOpened(); + } + return false; + } + hostData() { return { class: {