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

197 строки
5.8 KiB

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