Skip to content

LimeFitSwiper 自适应高度轮播

仿淘宝金刚区滚动切换高度的轮播组件,可以根据内容自动调整高度,实现平滑过渡效果。组件支持自定义指示器,适用于需要根据内容高度自动调整的轮播场景。

插件依赖:lime-sharedlime-style

文档链接

📚 组件详细文档请访问以下站点:

安装方法

  1. 在uni-app插件市场入口 中搜索并导入lime-fit-swiper
  2. 导入后可能需要重新编译项目
  3. 在页面中使用l-fit-swiper组件和l-fit-swiper-item

代码演示

基础用法

通过data属性传入数据,并使用group插槽自定义内容。

html
<l-fit-swiper :data="list">
  <template #group="{group}">
    <view class="grid">
      <view class="grid-item" v-for="item in group">
        <image class="grid-item-image" :src="item.icon" mode="widthFix"></image>
        <text class="grid-item-text">{{item.name}}</text>
      </view>
    </view>
  </template>
</l-fit-swiper>
js
const list = ref([
  [
    {
      icon: 'https://example.com/icon1.png',
      name: '选项1'
    },
    {
      icon: 'https://example.com/icon2.png',
      name: '选项2'
    },
    // 更多选项...
  ],
  [
    {
      icon: 'https://example.com/icon3.png',
      name: '选项3'
    },
    {
      icon: 'https://example.com/icon4.png',
      name: '选项4'
    },
    // 更多选项...
  ]
])

自定义指示器

自定义导航指示器的样式和位置。

html
<l-fit-swiper 
	indicatorColor="#cccccc"
	indicatorActiveColor="#ff0000" 
	:data="indicatorList">
	...
</l-fit-swiper>
js

const indicatorList = ref([
  { content: '第一页内容' },
  { content: '第二页内容' },
  { content: '第三页内容' }
])

快速预览

导入插件后,可以直接使用以下标签查看演示效果:

html
<!-- 代码位于 uni_modules/lime-fit-swiper/components/lime-fit-swiper -->
<lime-fit-swiper />

插件标签说明

标签名说明
l-fit-swiper组件标签
l-fit-swiper-item轮播项标签
lime-fit-swiper演示标签

API文档

Props 属性说明

属性名说明类型默认值
data轮播数据源Array[]
current当前所在滑块的索引number0
indicatorDots是否显示导航指示器booleantrue
indicatorWidth导航指示器每项的宽度string-
indicatorHeight导航指示器高度string-
indicatorColor导航指示器颜色string-
indicatorActiveColor导航指示器激活颜色string-
lClass自定义类名string-

Events 事件

事件名说明回调参数
change轮播切换时触发index: number

Slots 插槽

名称说明
default默认插槽,用于直接插入l-fit-swiper-item,仅WEB,APP生效
group分组数据渲染插槽,当使用data属性时可用

自定义主题

组件提供了以下CSS变量,可用于自定义样式:

变量名称默认值描述
--l-fit-swiper-indicator-height4px指示器高度
--l-fit-swiper-indicator-item-width12px指示器项宽度
--l-fit-swiper-indicator-item-radius6px指示器项圆角
--l-fit-swiper-indicator-gap2px指示器项间距
--l-fit-swiper-indicator-bottom10px指示器底部距离
--l-fit-swiper-padding-bottom20px轮播底部内边距
--l-fit-swiper-indicator-color$gray-3指示器颜色
--l-fit-swiper-indicator-active-color$primary-color指示器激活颜色

Vue2使用说明

main.js中添加以下代码:

js
// vue2项目中使用
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

详细配置请参考官方文档:Vue Composition API

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助微信赞助

源代码

组件源码