props.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import { defineProps } from '../../libs/util/props';
  2. import theme from '../../libs/config/theme.js';
  3. export default defineProps('swiper', {
  4. // 列表数组,元素可为字符串,如为对象可通过keyName指定目标属性名
  5. list: {
  6. type: Array,
  7. default: () => []
  8. },
  9. // 是否显示面板指示器
  10. indicator: {
  11. type: Boolean,
  12. default: false
  13. },
  14. // 指示器非激活颜色
  15. indicatorActiveColor: {
  16. type: String,
  17. default: '#FFFFFF'
  18. },
  19. // 指示器的激活颜色
  20. indicatorInactiveColor: {
  21. type: String,
  22. default: 'rgba(255, 255, 255, 0.35)'
  23. },
  24. // 指示器样式,可通过bottom,left,right进行定位
  25. indicatorStyle: {
  26. type: [String, Object],
  27. default: ''
  28. },
  29. // 指示器模式,line-线型,dot-点型
  30. indicatorMode: {
  31. type: String,
  32. default: 'line'
  33. },
  34. // 是否自动切换
  35. autoplay: {
  36. type: Boolean,
  37. default: true
  38. },
  39. // 当前所在滑块的 index
  40. current: {
  41. type: [String, Number],
  42. default: 0
  43. },
  44. // 当前所在滑块的 item-id ,不能与 current 被同时指定
  45. currentItemId: {
  46. type: String,
  47. default: ''
  48. },
  49. // 滑块自动切换时间间隔
  50. interval: {
  51. type: [String, Number],
  52. default: 3000
  53. },
  54. // 滑块切换过程所需时间
  55. duration: {
  56. type: [String, Number],
  57. default: 300
  58. },
  59. // 播放到末尾后是否重新回到开头
  60. circular: {
  61. type: Boolean,
  62. default: false
  63. },
  64. // 前边距,可用于露出前一项的一小部分,nvue和支付宝不支持
  65. previousMargin: {
  66. type: [String, Number],
  67. default: 0
  68. },
  69. // 后边距,可用于露出后一项的一小部分,nvue和支付宝不支持
  70. nextMargin: {
  71. type: [String, Number],
  72. default: 0
  73. },
  74. // 当开启时,会根据滑动速度,连续滑动多屏,支付宝不支持
  75. acceleration: {
  76. type: Boolean,
  77. default: false
  78. },
  79. // 同时显示的滑块数量,nvue、支付宝小程序不支持
  80. displayMultipleItems: {
  81. type: Number,
  82. default: 1
  83. },
  84. // 指定swiper切换缓动动画类型,有效值:default、linear、easeInCubic、easeOutCubic、easeInOutCubic
  85. // 只对微信小程序有效
  86. easingFunction: {
  87. type: String,
  88. default: 'default'
  89. },
  90. // list数组中指定对象的目标属性名
  91. keyName: {
  92. type: String,
  93. default: 'url'
  94. },
  95. // 图片的裁剪模式
  96. imgMode: {
  97. type: String,
  98. default: 'aspectFill'
  99. },
  100. // 组件高度
  101. height: {
  102. type: [String, Number],
  103. default: 130
  104. },
  105. // 背景颜色
  106. bgColor: {
  107. type: String,
  108. default: theme.bgColor
  109. },
  110. // 组件圆角,数值或带单位的字符串
  111. radius: {
  112. type: [String, Number],
  113. default: 4
  114. },
  115. // 是否加载中
  116. loading: {
  117. type: Boolean,
  118. default: false
  119. },
  120. // 是否显示标题,要求数组对象中有title属性
  121. showTitle: {
  122. type: Boolean,
  123. default: false
  124. }
  125. })