props.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import { defineMixin } from '../../libs/vue'
  2. import defProps from '../../libs/config/props.js'
  3. export const props = defineMixin({
  4. props: {
  5. modelValue: {
  6. type: Array,
  7. default: () => []
  8. },
  9. //是否禁用
  10. disabled: {
  11. type: Boolean,
  12. default: false
  13. },
  14. disabledColor:{
  15. type: String,
  16. default: () => defProps.input.disabledColor
  17. },
  18. hasInput: {
  19. type: Boolean,
  20. default: false
  21. },
  22. placeholder: {
  23. type: String,
  24. default: () => '请选择'
  25. },
  26. // 是否展示picker弹窗
  27. show: {
  28. type: Boolean,
  29. default: () => defProps.picker.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.picker.showToolbar
  40. },
  41. // 顶部标题
  42. title: {
  43. type: String,
  44. default: () => defProps.picker.title
  45. },
  46. // 对象数组,设置每一列的数据
  47. columns: {
  48. type: Array,
  49. default: () => defProps.picker.columns
  50. },
  51. // 是否显示加载中状态
  52. loading: {
  53. type: Boolean,
  54. default: () => defProps.picker.loading
  55. },
  56. // 各列中,单个选项的高度
  57. itemHeight: {
  58. type: [String, Number],
  59. default: () => defProps.picker.itemHeight
  60. },
  61. // 取消按钮的文字
  62. cancelText: {
  63. type: String,
  64. default: () => defProps.picker.cancelText
  65. },
  66. // 确认按钮的文字
  67. confirmText: {
  68. type: String,
  69. default: () => defProps.picker.confirmText
  70. },
  71. // 取消按钮的颜色
  72. cancelColor: {
  73. type: String,
  74. default: () => defProps.picker.cancelColor
  75. },
  76. // 确认按钮的颜色
  77. confirmColor: {
  78. type: String,
  79. default: () => defProps.picker.confirmColor
  80. },
  81. // 每列中可见选项的数量
  82. visibleItemCount: {
  83. type: [String, Number],
  84. default: () => defProps.picker.visibleItemCount
  85. },
  86. // 选项对象中,需要展示的属性键名
  87. keyName: {
  88. type: String,
  89. default: () => defProps.picker.keyName
  90. },
  91. // 是否允许点击遮罩关闭选择器
  92. closeOnClickOverlay: {
  93. type: Boolean,
  94. default: () => defProps.picker.closeOnClickOverlay
  95. },
  96. // 各列的默认索引
  97. defaultIndex: {
  98. type: Array,
  99. default: () => defProps.picker.defaultIndex
  100. },
  101. // 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件,只在微信2.21.1及以上有效
  102. immediateChange: {
  103. type: Boolean,
  104. default: () => defProps.picker.immediateChange
  105. },
  106. // 工具栏右侧插槽是否开启
  107. toolbarRightSlot: {
  108. type: Boolean,
  109. default: false
  110. },
  111. // 层级
  112. zIndex: {
  113. type: [String, Number],
  114. default: () => defProps.picker.zIndex
  115. },
  116. }
  117. })