props.js 5.0 KB

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