props.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. import { defineMixin } from '../../libs/vue'
  2. import defProps from '../../libs/config/props.js'
  3. export const props = defineMixin({
  4. props: {
  5. // 是否显示input
  6. hasInput: {
  7. type: Boolean,
  8. default: () => false
  9. },
  10. disabled: {
  11. type: Boolean,
  12. default: () => false
  13. },
  14. placeholder: {
  15. type: String,
  16. default: () => '请选择'
  17. },
  18. format: {
  19. type: String,
  20. default: () => ''
  21. },
  22. // 是否打开组件
  23. show: {
  24. type: Boolean,
  25. default: () => defProps.datetimePicker.show
  26. },
  27. // 弹出的方向,可选值为 top bottom right left center
  28. popupMode: {
  29. type: String,
  30. default: () => defProps.picker.popupMode
  31. },
  32. // 是否展示顶部的操作栏
  33. showToolbar: {
  34. type: Boolean,
  35. default: () => defProps.datetimePicker.showToolbar
  36. },
  37. // 工具栏右侧内容
  38. toolbarRightSlot:{
  39. type: Boolean,
  40. default: false
  41. },
  42. // #ifdef VUE2
  43. // 绑定值
  44. value: {
  45. type: [String, Number],
  46. default: () => defProps.datetimePicker.value
  47. },
  48. // #endif
  49. // #ifdef VUE3
  50. // 绑定值
  51. modelValue: {
  52. type: [String, Number],
  53. default: () => defProps.datetimePicker.value
  54. },
  55. // #endif
  56. // 顶部标题
  57. title: {
  58. type: String,
  59. default: () => defProps.datetimePicker.title
  60. },
  61. // 展示格式,mode=date为日期选择,mode=time为时间选择,mode=year-month为年月选择,mode=datetime为日期时间选择
  62. mode: {
  63. type: String,
  64. default: () => defProps.datetimePicker.mode
  65. },
  66. // 可选的最大时间
  67. maxDate: {
  68. type: Number,
  69. // 最大默认值为后10年
  70. default: () => defProps.datetimePicker.maxDate
  71. },
  72. // 可选的最小时间
  73. minDate: {
  74. type: Number,
  75. // 最小默认值为前10年
  76. default: () => defProps.datetimePicker.minDate
  77. },
  78. // 可选的最小小时,仅mode=time有效
  79. minHour: {
  80. type: Number,
  81. default: () => defProps.datetimePicker.minHour
  82. },
  83. // 可选的最大小时,仅mode=time有效
  84. maxHour: {
  85. type: Number,
  86. default: () => defProps.datetimePicker.maxHour
  87. },
  88. // 可选的最小分钟,仅mode=time有效
  89. minMinute: {
  90. type: Number,
  91. default: () => defProps.datetimePicker.minMinute
  92. },
  93. // 可选的最大分钟,仅mode=time有效
  94. maxMinute: {
  95. type: Number,
  96. default: () => defProps.datetimePicker.maxMinute
  97. },
  98. // 选项过滤函数
  99. filter: {
  100. type: [Function, null],
  101. default: () => defProps.datetimePicker.filter
  102. },
  103. // 选项格式化函数
  104. formatter: {
  105. type: [Function, null],
  106. default: () => defProps.datetimePicker.formatter
  107. },
  108. // 是否显示加载中状态
  109. loading: {
  110. type: Boolean,
  111. default: () => defProps.datetimePicker.loading
  112. },
  113. // 各列中,单个选项的高度
  114. itemHeight: {
  115. type: [String, Number],
  116. default: () => defProps.datetimePicker.itemHeight
  117. },
  118. // 取消按钮的文字
  119. cancelText: {
  120. type: String,
  121. default: () => defProps.datetimePicker.cancelText
  122. },
  123. // 确认按钮的文字
  124. confirmText: {
  125. type: String,
  126. default: () => defProps.datetimePicker.confirmText
  127. },
  128. // 取消按钮的颜色
  129. cancelColor: {
  130. type: String,
  131. default: () => defProps.datetimePicker.cancelColor
  132. },
  133. // 确认按钮的颜色
  134. confirmColor: {
  135. type: String,
  136. default: () => defProps.datetimePicker.confirmColor
  137. },
  138. // 每列中可见选项的数量
  139. visibleItemCount: {
  140. type: [String, Number],
  141. default: () => defProps.datetimePicker.visibleItemCount
  142. },
  143. // 是否允许点击遮罩关闭选择器
  144. closeOnClickOverlay: {
  145. type: Boolean,
  146. default: () => defProps.datetimePicker.closeOnClickOverlay
  147. },
  148. // 各列的默认索引
  149. defaultIndex: {
  150. type: Array,
  151. default: () => defProps.datetimePicker.defaultIndex
  152. }
  153. }
  154. })