u-gap.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <view class="u-gap" :style="[gapStyle]">
  3. <slot></slot>
  4. </view>
  5. </template>
  6. <script>
  7. /**
  8. * gap 间隔槽
  9. * @description 该组件一般用于内容块之间的用一个灰色块隔开的场景,方便用户风格统一,减少工作量
  10. * @tutorial https://www.uviewui.com/components/gap.html
  11. * @property {String} bg-color 背景颜色(默认#f3f4f6)
  12. * @property {String Number} height 分割槽高度,单位rpx(默认30)
  13. * @property {String Number} margin-top 与前一个组件的距离,单位rpx(默认0)
  14. * @property {String Number} margin-bottom 与后一个组件的距离,单位rpx(0)
  15. * @example <u-gap height="80" bg-color="#bbb"></u-gap>
  16. */
  17. export default {
  18. name: "u-gap",
  19. props: {
  20. bgColor: {
  21. type: String,
  22. default: 'transparent ' // 背景透明
  23. },
  24. // 高度
  25. height: {
  26. type: [String, Number],
  27. default: 30
  28. },
  29. // 与上一个组件的距离
  30. marginTop: {
  31. type: [String, Number],
  32. default: 0
  33. },
  34. // 与下一个组件的距离
  35. marginBottom: {
  36. type: [String, Number],
  37. default: 0
  38. },
  39. },
  40. computed: {
  41. gapStyle() {
  42. return {
  43. backgroundColor: this.bgColor,
  44. height: this.height + 'rpx',
  45. marginTop: this.marginTop + 'rpx',
  46. marginBottom: this.marginBottom + 'rpx'
  47. };
  48. }
  49. }
  50. };
  51. </script>
  52. <style lang="scss" scoped>
  53. @import "../../libs/css/style.components.scss";
  54. </style>