Skip to content

bug: v4/React <IonSlides> not working inside <IonModal> #19641

Description

@benallfree

Bug Report

Ionic version:
[x] 4.x (React)

Current behavior:
<IonSlides> does not slide correctly inside <IonModal>

https://youtu.be/VB4vsoWL-pY

Expected behavior:
<IonSlides> works in modal container

Steps to reproduce:

export const Modal: React.FC = () => {
  const [showModal, setShowModal] = useState(false);

  return (
    <IonContent>
      <IonModal isOpen={showModal}>
        <Slides />
        <IonButton onClick={() => setShowModal(false)}>Close Modal</IonButton>
      </IonModal>
      <IonButton onClick={() => setShowModal(true)}>Try it in Modal</IonButton>
    </IonContent>
  );
};

const Slide: React.FC<{ n: number }> = ({ n }) => (
  <IonSlide>
    <div className="ion-padding">
      <h1>Slide {n}</h1>
    </div>
  </IonSlide>
);

const Slides: React.FC = () => {
  return (
    <IonSlides pager={true}>
      <Slide n={1} />
      <Slide n={2} />
      <Slide n={3} />
    </IonSlides>
  );
};

const Home: React.FC = () => {
  return (
    <IonPage>
      <IonContent>
        <Modal />
      </IonContent>
    </IonPage>
  );
};

Related code:

Adding a Plunker v4+React template would be great 👍

Ionic info:

Ionic:

   Ionic CLI       : 5.4.2 (/Users/uncovered/.nvm/versions/node/v10.15.0/lib/node_modules/ionic)
   Ionic Framework : @ionic/react 4.11.0

Utility:

   cordova-res : 0.6.0 (update available: 0.8.0)
   native-run  : not installed

System:

   NodeJS : v10.15.0 (/Users/uncovered/.nvm/versions/node/v10.15.0/bin/node)
   npm    : 6.7.0
   OS     : macOS Catalina

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions