Skip to content

切换器

在页面中通过点击切换器切换swiper。

引入

WARNING

v3版本不再默认引入所有modules,这意味着在使用modules中的模块时,都需要手动引入。

同时部分modulescss也需手动引入。需要注意的是,将style设置为scoped会导致样式失效。推荐全局引入所需要的模块样式。参考:引入样式

具体可查看模块化按需引入

vue
<script lang="ts" setup>
import { Navigation } from '@zebra-ui/swiper/modules'

const modules = ref([Navigation])
</script>
vue
<script lang="ts" setup>
import { Navigation } from '@/uni_modules/zebra-swiper/modules'

const modules = ref([Navigation])
</script>
css
<style lang="scss">
    @use "@zebra-ui/swiper/modules/navigation/navigation.scss";
</style>
css
<style lang="scss">
    @use "@/uni_modules/zebra-swiper/modules/navigation/navigation.scss";
</style>

配置

设置为 true 开启切换器。

类型
Boolean, Object
默认值
false

enabled

是否启用切换器。

html
<z-swiper grabCursor :navigation="{enabled:true}" :modules="modules">
  <z-swiper-item v-for="item in list" :key="item.id">
    <DemoItem :text="item.text"></DemoItem>
  </z-swiper-item>
</z-swiper>

hideOnClick

点击swiper后是否隐藏

类型
boolean
默认值
false

方法

destroy

销毁切换器

vue
<DemoOprate
  type="primary"
  @click="() => swiperInstance['destroy'].navigation.destroy()"
>销毁切换器</DemoOprate>

init

初始化切换器

vue
<DemoOprate
  type="primary"
  @click="() => swiperInstance['init'].navigation.init()"
>初始化切换器</DemoOprate>

update

更新切换器

vue
<DemoOprate
  type="primary"
  @click="() => swiperInstance['update'].navigation.update()"
>更新切换器</DemoOprate>

事件

切换器显示时触发

html
<z-swiper @navigationShow="onSwiperNavigationShow">
  <z-swiper-item v-for="item in list" :key="item.id">
    <DemoItem :text="item.text"></DemoItem>
  </z-swiper-item>
</z-swiper>
vue
<script setup>
const onSwiperNavigationShow = (swiper) => {
  console.log('swiper实例:', swiper)
}
</script>

切换器隐藏时触发

html
<z-swiper @navigationHide="onSwiperNavigationHide">
  <z-swiper-item v-for="item in list" :key="item.id">
    <DemoItem :text="item.text"></DemoItem>
  </z-swiper-item>
</z-swiper>
vue
<script setup>
const onSwiperNavigationHide = (swiper) => {
  console.log('swiper实例:', swiper)
}
</script>

点击切换器的向后切换时触发

html
<z-swiper @navigationNext="onSwiperNavigationNext">
  <z-swiper-item v-for="item in list" :key="item.id">
    <DemoItem :text="item.text"></DemoItem>
  </z-swiper-item>
</z-swiper>
vue
<script setup>
const onSwiperNavigationNext = (swiper) => {
  console.log('swiper实例:', swiper)
}
</script>

点击切换器的向前切换时触发

html
<z-swiper @navigationPrev="onSwiperNavigationPrev">
  <z-swiper-item v-for="item in list" :key="item.id">
    <DemoItem :text="item.text"></DemoItem>
  </z-swiper-item>
</z-swiper>
vue
<script setup>
const onSwiperNavigationPrev = (swiper) => {
  console.log('swiper实例:', swiper)
}
</script>
名称描述
navigation-prev自定义切换Prev
navigation-next自定义切换Next

样式变量

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

名称默认值描述
--swiper-navigation-size44px切换器的尺寸
--swiper-navigation-top-offset50%切换器顶部的偏移量
--swiper-navigation-sides-offset10px切换器两侧的偏移量
--swiper-navigation-color#2549e8切换器的颜色

Released under the MIT License.