Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 

65 строки
2.0 KiB

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