The QCarousel component allows you to display more information with less real estate, using slides. Useful for creating Wizards or an image gallery too.
If the QCarouselSlide content also has images and you want to use swipe actions to navigate, you might want to add
draggable="false" to them, otherwise the native browser behavior might interfere in a negative way.
- Please take notice of the Boolean
keep-aliveprop for QCarousel, if you need this behavior. Do NOT use Vue’s native
<keep-alive>component over QCarouselSlide.
- Should you need the
keep-alive-excludeprops then the QCarouselSlide
names must be valid Vue component names (no spaces allowed, don’t start with a number etc).
Below is an almost stripped down basic Carousel (it is just animated and only has custom transitions specified) with no navigation embedded. For this reason, we are controlling the current slide through the model.
In the example below:
- There are just a few transitions demoed. For a complete list of transitions, head to the Transitions page.
- You can also swipe with your finger (or swiping with the mouse – clicking and quickly dragging to left/right then releasing).
The notion of “control” here refers to the arrows and navigation buttons. Since they are buttons, you can also pick their type to better match your design. You also benefit from the
For a full list of properties of the
navigation-icon slot, please consult the API card.
Below is an example with which you can play with different QCarousel settings so you can see the padding (or lack of) in action:
In the example below there are thumbnails being generated automatically. Thumbnails only applies to image slides.
Don’t use the property
navigation along with
thumbnails as the first supercedes the latter so the thumbnails will not be displayed.
Infinite and autoplay
You can pause autoplay when the pointer is over the carousel or over a region of interest.
Please note how QScrollArea is used in the two examples below. Also note the
q-carousel--padding CSS helper class in the second example.