props.js
4.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
import { defineMixin } from '../../libs/vue'
import defProps from '../../libs/config/props.js'
export const props = defineMixin({
props: {
modelValue: {
type: Array,
default: () => []
},
hasInput: {
type: Boolean,
default: false
},
inputProps: {
type: Object,
default: () => {
return {}
}
},
disabled: {
type: Boolean,
default: () => defProps.picker.disabled
},
disabledColor:{
type: String,
default: () => defProps.picker.disabledColor
},
placeholder: {
type: String,
default: () => defProps.picker.placeholder
},
// 是否展示picker弹窗
show: {
type: Boolean,
default: () => defProps.picker.show
},
// 弹出的方向,可选值为 top bottom right left center
popupMode: {
type: String,
default: () => defProps.picker.popupMode
},
// 是否展示顶部的操作栏
showToolbar: {
type: Boolean,
default: () => defProps.picker.showToolbar
},
// 顶部标题
title: {
type: String,
default: () => defProps.picker.title
},
// 对象数组,设置每一列的数据
columns: {
type: Array,
default: () => defProps.picker.columns
},
// 是否显示加载中状态
loading: {
type: Boolean,
default: () => defProps.picker.loading
},
// 各列中,单个选项的高度
itemHeight: {
type: [String, Number],
default: () => defProps.picker.itemHeight
},
// 取消按钮的文字
cancelText: {
type: String,
default: () => defProps.picker.cancelText
},
// 确认按钮的文字
confirmText: {
type: String,
default: () => defProps.picker.confirmText
},
// 取消按钮的颜色
cancelColor: {
type: String,
default: () => defProps.picker.cancelColor
},
// 确认按钮的颜色
confirmColor: {
type: String,
default: () => defProps.picker.confirmColor
},
// 每列中可见选项的数量
visibleItemCount: {
type: [String, Number],
default: () => defProps.picker.visibleItemCount
},
// 选项对象中,需要展示的属性键名
keyName: {
type: String,
default: () => defProps.picker.keyName
},
// 选项对象中,需要获取的属性值键名
valueName: {
type: String,
default: () => defProps.picker.valueName
},
// 是否允许点击遮罩关闭选择器
closeOnClickOverlay: {
type: Boolean,
default: () => defProps.picker.closeOnClickOverlay
},
// 各列的默认索引
defaultIndex: {
type: Array,
default: () => defProps.picker.defaultIndex
},
// 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件,只在微信2.21.1及以上有效
immediateChange: {
type: Boolean,
default: () => defProps.picker.immediateChange
},
// 工具栏右侧插槽是否开启
toolbarRightSlot: {
type: Boolean,
default: false
},
// 层级
zIndex: {
type: [String, Number],
default: () => defProps.picker.zIndex
},
// 弹窗背景色,设置为transparent可去除白色背景
bgColor: {
type: String,
default: () => defProps.picker.bgColor
},
// 是否显示圆角
round: {
type: [Boolean, String, Number],
default: () => defProps.picker.round
},
// 动画时长,单位ms
duration: {
type: [String, Number],
default: () => defProps.picker.duration
},
// 遮罩的透明度,0-1之间
overlayOpacity: {
type: [Number, String],
default: () => defProps.picker.overlayOpacity
},
// 是否页面内展示
pageInline:{
type: Boolean,
default: () => defProps.picker.pageInline
}
}
})