props.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { defineMixin } from '../../libs/vue'
  2. import defProps from '../../libs/config/props.js'
  3. export const props = defineMixin({
  4. props: {
  5. // 是否展示骨架组件
  6. loading: {
  7. type: Boolean,
  8. default: () => defProps.skeleton.loading
  9. },
  10. // 是否开启动画效果
  11. animate: {
  12. type: Boolean,
  13. default: () => defProps.skeleton.animate
  14. },
  15. // 段落占位图行数
  16. rows: {
  17. type: [String, Number],
  18. default: () => defProps.skeleton.rows
  19. },
  20. // 段落占位图的宽度
  21. rowsWidth: {
  22. type: [String, Number, Array],
  23. default: () => defProps.skeleton.rowsWidth
  24. },
  25. // 段落占位图的高度
  26. rowsHeight: {
  27. type: [String, Number, Array],
  28. default: () => defProps.skeleton.rowsHeight
  29. },
  30. // 是否展示标题占位图
  31. title: {
  32. type: Boolean,
  33. default: () => defProps.skeleton.title
  34. },
  35. // 段落标题的宽度
  36. titleWidth: {
  37. type: [String, Number],
  38. default: () => defProps.skeleton.titleWidth
  39. },
  40. // 段落标题的高度
  41. titleHeight: {
  42. type: [String, Number],
  43. default: () => defProps.skeleton.titleHeight
  44. },
  45. // 是否展示头像占位图
  46. avatar: {
  47. type: Boolean,
  48. default: () => defProps.skeleton.avatar
  49. },
  50. // 头像占位图大小
  51. avatarSize: {
  52. type: [String, Number],
  53. default: () => defProps.skeleton.avatarSize
  54. },
  55. // 头像占位图的形状,circle-圆形,square-方形
  56. avatarShape: {
  57. type: String,
  58. default: () => defProps.skeleton.avatarShape
  59. }
  60. }
  61. })