el-carousel 是 Element Plus 框架中的一个轮播图组件,用于展示一组图片或内容。它可以自动播放,支持手动切换和自定义导航按钮。
一。 el-carousel 属性详解
-
value / v-model:
- 类型:
Number - 用途: 当前激活项的索引。
- 默认值:
0
- 类型:
-
autoplay:
- 类型:
Boolean - 用途: 是否自动播放。
- 默认值:
true
- 类型:
-
interval:
- 类型:
Number - 用途: 自动播放间隔时间,单位为毫秒。
- 默认值:
3000
- 类型:
-
loop:
- 类型:
Boolean - 用途: 是否循环播放。
- 默认值:
true
- 类型:
-
trigger:
- 类型:
String - 用途: 指示器触发方式,可选值为
hover、click。 - 默认值:
hover
- 类型:
-
indicator-position:
- 类型:
String - 用途: 指示器的位置,可选值为
none、inside、outside。 - 默认值:
inside
- 类型:
-
arrow:
- 类型:
String - 用途: 控制箭头的显示时机,可选值为
hover、always、never。 - 默认值:
hover
- 类型:
-
height:
- 类型:
String - 用途: 轮播图的高度。
- 类型:
-
type:
- 类型:
String - 用途: 轮播图类型,可选值为
card。
- 类型:
-
initial-index:
- 类型:
Number - 用途: 初始化时的索引。
- 默认值:
0
- 类型:
二。 el-carousel 事件详解
-
change:
- 类型:
Function - 用途: 当轮播图切换时触发的事件。
- 参数:
current,prev(当前索引,前一个索引)
- 类型:
三。 el-carousel 插槽详解
-
default:
- 插槽名称:
default - 用途: 轮播图的内容。
- 插槽名称:
-
prev:
- 插槽名称:
prev - 用途: 自定义前一个按钮的内容。
- 插槽名称:
-
next:
- 插槽名称:
next - 用途: 自定义下一个按钮的内容。
- 插槽名称:
四。示例代码
<template>
<div>
<h2>Carousel 示例</h2>
<!-- 基本用法 -->
<el-carousel :interval="4000" type="card" height="200px">
<el-carousel-item v-for="item in items" :key="item.id">
<img :src="item.src" alt="carousel image" class="carousel-image">
</el-carousel-item>
</el-carousel>
<!-- 自定义指示器位置 -->
<el-carousel :interval="4000" indicator-position="outside" height="200px">
<el-carousel-item v-for="item in items" :key="item.id">
<img :src="item.src" alt="carousel image" class="carousel-image">
</el-carousel-item>
</el-carousel>
<!-- 手动切换 -->
<el-carousel :autoplay="false" height="200px">
<el-carousel-item v-for="item in items" :key="item.id">
<img :src="item.src" alt="carousel image" class="carousel-image">
</el-carousel-item>
</el-carousel>
<!-- 自定义箭头显示时机 -->
<el-carousel :interval="4000" arrow="always" height="200px">
<el-carousel-item v-for="item in items" :key="item.id">
<img :src="item.src" alt="carousel image" class="carousel-image">
</el-carousel-item>
</el-carousel>
<!-- 自定义导航按钮 -->
<el-carousel :interval="4000" height="200px">
<el-carousel-item v-for="item in items" :key="item.id">
<img :src="item.src" alt="carousel image" class="carousel-image">
</el-carousel-item>
<template #prev>
<i class="el-icon-arrow-left custom-prev"></i>
</template>
<template #next>
<i class="el-icon-arrow-right custom-next"></i>
</template>
</el-carousel>
</div>
</template>
五。 代码解释
-
基本用法:
- 使用
el-carousel组件并设置interval、type和height属性。 -
<el-carousel :interval="4000" type="card" height="200px"> <el-carousel-item v-for="item in items" :key="item.id"> <img :src="item.src" alt="carousel image" class="carousel-image"> </el-carousel-item> </el-carousel>
- 使用
-
自定义指示器位置:
- 使用
indicator-position属性自定义指示器的位置。 -
<el-carousel :interval="4000" indicator-position="outside" height="200px"> <el-carousel-item v-for="item in items" :key="item.id"> <img :src="item.src" alt="carousel image" class="carousel-image"> </el-carousel-item> </el-carousel>
- 使用
-
手动切换:
- 使用
autoplay属性设置为false禁用自动播放。 -
<el-carousel :autoplay="false" height="200px"> <el-carousel-item v-for="item in items" :key="item.id"> <img :src="item.src" alt="carousel image" class="carousel-image"> </el-carousel-item> </el-carousel>
- 使用
-
自定义箭头显示时机:
- 使用
arrow属性自定义箭头的显示时机。 -
<el-carousel :interval="4000" arrow="always" height="200px"> <el-carousel-item v-for="item in items" :key="item.id"> <img :src="item.src" alt="carousel image" class="carousel-image"> </el-carousel-item> </el-carousel>
- 使用
-
自定义导航按钮:
- 使用插槽自定义导航按钮的内容。
-
<el-carousel :interval="4000" height="200px"> <el-carousel-item v-for="item in items" :key="item.id"> <img :src="item.src" alt="carousel image" class="carousel-image"> </el-carousel-item> <template #prev> <i class="el-icon-arrow-left custom-prev"></i> </template> <template #next> <i class="el-icon-arrow-right custom-next"></i> </template> </el-carousel>