props.js 4.7 KB

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