25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

65 lines
1.9 KiB

  1. import { defineMixin } from '../../libs/vue'
  2. import LoadingIconDefaultProps from './loadingIcon'
  3. import { registerComponentProps } from '../../libs/config/props.js'
  4. const defProps = registerComponentProps(LoadingIconDefaultProps)
  5. export const props = defineMixin({
  6. props: {
  7. // 是否显示组件
  8. show: {
  9. type: Boolean,
  10. default: () => defProps.loadingIcon.show
  11. },
  12. // 颜色
  13. color: {
  14. type: String,
  15. default: () => defProps.loadingIcon.color
  16. },
  17. // 提示文字颜色
  18. textColor: {
  19. type: String,
  20. default: () => defProps.loadingIcon.textColor
  21. },
  22. // 文字和图标是否垂直排列
  23. vertical: {
  24. type: Boolean,
  25. default: () => defProps.loadingIcon.vertical
  26. },
  27. // 模式选择,circle-圆形,spinner-花朵形,semicircle-半圆形
  28. mode: {
  29. type: String,
  30. default: () => defProps.loadingIcon.mode
  31. },
  32. // 图标大小,单位默认px
  33. size: {
  34. type: [String, Number],
  35. default: () => defProps.loadingIcon.size
  36. },
  37. // 文字大小
  38. textSize: {
  39. type: [String, Number],
  40. default: () => defProps.loadingIcon.textSize
  41. },
  42. // 文字内容
  43. text: {
  44. type: [String, Number],
  45. default: () => defProps.loadingIcon.text
  46. },
  47. // 动画模式
  48. timingFunction: {
  49. type: String,
  50. default: () => defProps.loadingIcon.timingFunction
  51. },
  52. // 动画执行周期时间
  53. duration: {
  54. type: [String, Number],
  55. default: () => defProps.loadingIcon.duration
  56. },
  57. // mode=circle时的暗边颜色
  58. inactiveColor: {
  59. type: String,
  60. default: () => defProps.loadingIcon.inactiveColor
  61. }
  62. }
  63. })