city-casereport/miniprogram_npm/tdesign-miniprogram/swiper/swiper.wxml
2023-12-06 14:22:42 +08:00

53 lines
1.9 KiB
Plaintext

<wxs src="./index.wxs" module="this" />
<wxs src="../common/utils.wxs" module="_" />
<import src="../common/template/image.wxml" />
<view class="class {{prefix}}-class {{classPrefix}}" style="{{_._style([style, customStyle])}}">
<swiper
class="{{classPrefix}}-host"
autoplay="{{autoplay}}"
current="{{current}}"
interval="{{interval}}"
duration="{{duration}}"
circular="{{loop}}"
vertical="{{direction == 'vertical'}}"
easing-function="{{easingFunction}}"
previous-margin="{{previousMargin}}"
next-margin="{{nextMargin}}"
snap-to-edge="{{snapToEdge}}"
display-multiple-items="{{displayMultipleItems}}"
style="height: {{_.addUnit(height)}}"
bindchange="onChange"
>
<swiper-item
wx:for="{{list}}"
wx:key="index"
class="{{_.cls(classPrefix + '__item', [['preview', this.isPrev(current, index, list)], ['next', this.isNext(current, index, list)]])}}"
data-index="{{index}}"
bind:tap="onTap"
aria-hidden="{{navCurrent !== index}}"
aria-role="image"
aria-label="{{_.isObject(item) ? item.ariaLabel : ''}}"
>
<template
is="image"
data="{{ class: classPrefix + '__image-host', tClass: this.getImageClass(prefix, current, index, list), style: 'height: ' + _.addUnit(height), src: _.isObject(item) ? item.value : item, mode: 'aspectFill', dataset: index, ...imageProps, bindload: 'onImageLoad' }}"
/>
</swiper-item>
</swiper>
<t-swiper-nav
wx:if="{{navigation}}"
t-class="{{prefix}}-class-nav"
type="{{navigation.type || 'dots'}}"
current="{{navCurrent || 0}}"
total="{{list.length || 0}}"
direction="{{direction || 'horizontal'}}"
pagination-position="{{paginationPosition || 'bottom'}}"
min-show-num="{{navigation.minShowNum || 2}}"
show-controls="{{navigation.showControls || false}}"
bind:nav-btn-change="onNavBtnChange"
/>
<slot name="nav" />
</view>