鸿宇研学生前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
5.5 KiB

  1. ## SY-StackedCarousel
  2. 该组件一般用于导航轮播,广告展示等场景,可开箱即用,具有如下特点:
  3. - 3D 轮播图效果,满足不同的开发需求
  4. - 可配置显示标题,涵盖不同的应用场景
  5. - 功能属性齐全丰富
  6. - 轻量级,支持小程序、H5 等平台(支持 vue2、vue3)
  7. ### 使用方式
  8. ```html
  9. <template>
  10. <view class="container">
  11. <SYStackedCarousel
  12. height="480rpx"
  13. autoplay
  14. :images="images"
  15. :current="3"
  16. :interval="2000"
  17. @click="clickHandler"
  18. @change="changeHandler"
  19. >
  20. </SYStackedCarousel>
  21. </view>
  22. </template>
  23. <script>
  24. import SYStackedCarousel from "@/uni_modules/SY-StackedCarousel/components/SY-StackedCarousel.vue";
  25. export default {
  26. components: {
  27. SYStackedCarousel,
  28. },
  29. data() {
  30. return {
  31. images: [
  32. {
  33. url: "../../static/images/1.jpg",
  34. desc: "星辰大海任我行,风雨兼程志更坚。星辰大海任我行,风雨兼程志更坚。星辰大海任我行,风雨兼程志更坚。星辰大海任我行,风雨兼程志更坚。",
  35. },
  36. {
  37. url: "../../static/images/2.jpg",
  38. desc: "晨曦微露破晓时,梦想起航正当时。",
  39. },
  40. {
  41. url: "../../static/images/3.jpg",
  42. desc: "千锤百炼钢更强,逆境之中显真章。",
  43. },
  44. {
  45. url: "../../static/images/4.jpg",
  46. desc: "心有猛虎细嗅蔷薇,勇者无畏亦柔情。",
  47. },
  48. {
  49. url: "../../static/images/5.jpg",
  50. desc: "高山仰止景行行,志士仁人共长天。",
  51. },
  52. ],
  53. };
  54. },
  55. onLoad() {},
  56. methods: {
  57. clickHandler(item, index) {
  58. console.log("item: ", item);
  59. console.log("index: ", index);
  60. },
  61. changeHandler(index) {
  62. console.log("当前触发change事件,返回索引: ", index);
  63. },
  64. },
  65. };
  66. </script>
  67. ```
  68. ### 属性说明
  69. | 属性名 | 类型 | 默认值 | 说明 |
  70. | :-----------------| :---------------| :------------------ | :--------------------------------------------------------- |
  71. | images | Array | [] | 图片数组 |
  72. | height | [String, Number]| 300rpx | 轮播图高度 |
  73. | autoplay | Boolean | true | 是否自动播放 |
  74. | padding | String | 10px | 轮播内边距 |
  75. | radius | [String, Number]| 4 | 组件圆角值 |
  76. | bgColor | String | #ffffff | 容器背景色 |
  77. | interval | Number | 2000 | 滑块自动切换时间间隔(ms) |
  78. | current | Number | 0 | 当前显示的图片索引 |
  79. | easing | String | ease-in-out | 动画类型 |
  80. | enableOpacity | Boolean | true | 是否启用不透明度设定(堆叠每一层逐渐变透明) |
  81. | baseOpacity | Number | 0.8 | 最顶层图片的不透明度,每一层会根据这个值自动缩小 opacity值 |
  82. | duration | Number | 500 | 滑块切换过程所需时间(ms) |
  83. | horizontalMargin | [String, Number]| 10 | 横向间距 |
  84. | verticalMargin | [String, Number]| 10 | 纵向间距 |
  85. | showButton | Boolean | false | 是否显示操作按钮 |
  86. | buttonSize | [String, Number]| 24 | 按钮大小以及按钮图标大小 |
  87. | buttonBgColor | String | rgba(0, 0, 0, 0.26) | 按钮背景颜色 |
  88. | imgMode | String | aspectFill | 图片裁剪模式,详情见微信原生 imageMode |
  89. | showFirstImageOnly| Boolean | false | 是否只显示第一张图片,其他图片被蒙版遮住 |
  90. | maskBgColor | String | #ffffff | 遮住蒙版的颜色 |
  91. | showDesc | Boolean | true | 是否显示图片描述(需要 images 传递的数据中存在 desc 属性) |
  92. | descBgColor | String | rgba(0, 0, 0, 0.5) | 底部描述的背景颜色 |
  93. | descColor | String | #ffffff | 底部描述字体颜色 |
  94. | descSize | [String, Number]| 10 | 底部描述字体大小 |
  95. | descNoWrap | Boolean | false | 描述是否不换行,超出后用...省略 |
  96. | slideRadius | [String, Number]| 10 | 图片的圆角值 |
  97. ### 事件说明
  98. | 事件名 | 说明 | 回调参数 |
  99. | :----- | :----------------------------------- | :--------------------------------------------------------- |
  100. | click | 点击图片触发 | item:当前图片对象信息, index:当前是第几张图片,从 0 开始 |
  101. | change | 轮播图切换时触发(自动或者手动切换) | index:当前是第几张图片,从 0 开始 |
  102. ### 插槽
  103. | 插槽名称 | 说明 |
  104. | :----- | :-----------------------------------|
  105. | left-button | 翻页按钮左侧图标 |
  106. | right-button| 翻页按钮右侧图标 |