vxe-pc-ui 3.20.8 → 3.20.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/card/src/card.js +2 -1
- package/es/date-panel/src/date-panel.js +70 -39
- package/es/date-panel/style.css +22 -20
- package/es/date-panel/style.min.css +1 -1
- package/es/drawer/src/drawer.js +1 -0
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +11 -3
- package/es/icon-picker/style.css +9 -3
- package/es/icon-picker/style.min.css +1 -1
- package/es/layout-aside/src/layout-aside.js +2 -1
- package/es/layout-body/src/layout-body.js +2 -1
- package/es/layout-container/src/layout-container.js +9 -2
- package/es/list/src/list.js +80 -223
- package/es/menu/src/menu.js +1 -0
- package/es/modal/src/modal.js +1 -0
- package/es/scrollbar/src/scrollbar.js +32 -188
- package/es/select/src/select.js +273 -8
- package/es/select/style.css +44 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +2 -1
- package/es/tooltip/src/tooltip.js +7 -6
- package/es/tooltip/style.css +2 -0
- package/es/tooltip/style.min.css +1 -1
- package/es/tree/src/tree.js +85 -228
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-date-panel/style.css +22 -20
- package/es/vxe-date-panel/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +9 -3
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-select/style.css +44 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tooltip/style.css +2 -0
- package/es/vxe-tooltip/style.min.css +1 -1
- package/lib/card/src/card.js +1 -1
- package/lib/card/src/card.min.js +1 -1
- package/lib/date-panel/src/date-panel.js +74 -43
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-panel/style/style.css +22 -20
- package/lib/date-panel/style/style.min.css +1 -1
- package/lib/drawer/src/drawer.js +1 -1
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +56 -38
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/icon-picker/style/style.css +9 -3
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +894 -816
- package/lib/index.umd.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +1 -1
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-body/src/layout-body.js +1 -1
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/layout-container/src/layout-container.js +13 -3
- package/lib/layout-container/src/layout-container.min.js +1 -1
- package/lib/list/src/list.js +72 -225
- package/lib/list/src/list.min.js +1 -1
- package/lib/menu/src/menu.js +1 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/modal/src/modal.js +1 -1
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/scrollbar/src/scrollbar.js +29 -192
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/select/src/select.js +322 -69
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +44 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +1 -1
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tooltip/src/tooltip.js +5 -6
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +2 -0
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/tree/src/tree.js +77 -229
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-date-panel/style/style.css +22 -20
- package/lib/vxe-date-panel/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +9 -3
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-select/style/style.css +44 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tooltip/style/style.css +2 -0
- package/lib/vxe-tooltip/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/card/src/card.ts +4 -2
- package/packages/date-panel/src/date-panel.ts +70 -39
- package/packages/drawer/src/drawer.ts +4 -2
- package/packages/icon-picker/src/icon-picker.ts +12 -3
- package/packages/layout-aside/src/layout-aside.ts +4 -2
- package/packages/layout-body/src/layout-body.ts +4 -2
- package/packages/layout-container/src/layout-container.ts +13 -3
- package/packages/list/src/list.ts +85 -241
- package/packages/menu/src/menu.ts +3 -1
- package/packages/modal/src/modal.ts +3 -1
- package/packages/scrollbar/src/scrollbar.ts +32 -199
- package/packages/select/src/select.ts +304 -11
- package/packages/tabs/src/tabs.ts +4 -4
- package/packages/tooltip/src/tooltip.ts +10 -8
- package/packages/tree/src/tree.ts +90 -247
- package/styles/components/date-panel.scss +31 -29
- package/styles/components/icon-picker.scss +9 -3
- package/styles/components/select.scss +77 -0
- package/styles/components/tooltip.scss +1 -0
- package/types/components/card.d.ts +2 -2
- package/types/components/drawer.d.ts +2 -2
- package/types/components/gantt-module/gantt-view.d.ts +8 -17
- package/types/components/grid.d.ts +3 -2
- package/types/components/icon-picker.d.ts +21 -1
- package/types/components/layout-aside.d.ts +2 -2
- package/types/components/layout-body.d.ts +2 -2
- package/types/components/layout-container.d.ts +3 -1
- package/types/components/list.d.ts +6 -2
- package/types/components/menu.d.ts +2 -2
- package/types/components/modal.d.ts +2 -2
- package/types/components/scrollbar.d.ts +17 -14
- package/types/components/select.d.ts +28 -3
- package/types/components/table.d.ts +26 -22
- package/types/components/tabs.d.ts +2 -2
- package/types/components/tooltip.d.ts +2 -2
- package/types/components/tree.d.ts +8 -17
- /package/es/icon/{iconfont.1792115554173.ttf → iconfont.1792219842866.ttf} +0 -0
- /package/es/icon/{iconfont.1792115554173.woff → iconfont.1792219842866.woff} +0 -0
- /package/es/icon/{iconfont.1792115554173.woff2 → iconfont.1792219842866.woff2} +0 -0
- /package/es/{iconfont.1792115554173.ttf → iconfont.1792219842866.ttf} +0 -0
- /package/es/{iconfont.1792115554173.woff → iconfont.1792219842866.woff} +0 -0
- /package/es/{iconfont.1792115554173.woff2 → iconfont.1792219842866.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792115554173.ttf → iconfont.1792219842866.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792115554173.woff → iconfont.1792219842866.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792115554173.woff2 → iconfont.1792219842866.woff2} +0 -0
- /package/lib/{iconfont.1792115554173.ttf → iconfont.1792219842866.ttf} +0 -0
- /package/lib/{iconfont.1792115554173.woff → iconfont.1792219842866.woff} +0 -0
- /package/lib/{iconfont.1792115554173.woff2 → iconfont.1792219842866.woff2} +0 -0
package/lib/select/src/select.js
CHANGED
|
@@ -18,6 +18,17 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
18
18
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
20
20
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
|
+
var getConfig = _ui.VxeUI.getConfig,
|
|
22
|
+
getIcon = _ui.VxeUI.getIcon,
|
|
23
|
+
getI18n = _ui.VxeUI.getI18n,
|
|
24
|
+
baseUtils = _ui.VxeUI.baseUtils,
|
|
25
|
+
domUtils = _ui.VxeUI.domUtils,
|
|
26
|
+
globalEvents = _ui.VxeUI.globalEvents,
|
|
27
|
+
GLOBAL_EVENT_KEYS = _ui.VxeUI.GLOBAL_EVENT_KEYS,
|
|
28
|
+
globalResize = _ui.VxeUI.globalResize,
|
|
29
|
+
createEvent = _ui.VxeUI.createEvent,
|
|
30
|
+
renderEmptyElement = _ui.VxeUI.renderEmptyElement;
|
|
31
|
+
var getDefVal = baseUtils.getDefVal;
|
|
21
32
|
var _createComponentLog = (0, _log.createComponentLog)('select'),
|
|
22
33
|
errLog = _createComponentLog.errLog;
|
|
23
34
|
function isOptionVisible(option) {
|
|
@@ -38,6 +49,9 @@ function createReactData() {
|
|
|
38
49
|
currentOption: null,
|
|
39
50
|
searchValue: '',
|
|
40
51
|
searchLoading: false,
|
|
52
|
+
// 滚动条
|
|
53
|
+
yThumbHeight: 0,
|
|
54
|
+
xThumbWidth: 0,
|
|
41
55
|
panelIndex: 0,
|
|
42
56
|
panelStyle: {},
|
|
43
57
|
panelPlacement: null,
|
|
@@ -57,8 +71,14 @@ function createInternalData() {
|
|
|
57
71
|
optGroupKeyMaps: {},
|
|
58
72
|
optFullValMaps: {},
|
|
59
73
|
remoteValMaps: {},
|
|
60
|
-
|
|
74
|
+
// 滚动条
|
|
75
|
+
// scrollObserver: undefined,
|
|
76
|
+
// isThumbDrag: false,
|
|
77
|
+
thumbDragOffset: 0,
|
|
78
|
+
yThumbTop: 0,
|
|
79
|
+
xThumbLeft: 0,
|
|
61
80
|
lastScrollTop: 0,
|
|
81
|
+
lastScrollLeft: 0,
|
|
62
82
|
scrollYStore: {
|
|
63
83
|
startIndex: 0,
|
|
64
84
|
endIndex: 0,
|
|
@@ -72,7 +92,7 @@ function createInternalData() {
|
|
|
72
92
|
}
|
|
73
93
|
var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
|
|
74
94
|
name: 'VxeSelect',
|
|
75
|
-
mixins: [_ui.globalMixins.sizeMixin],
|
|
95
|
+
mixins: [_ui.globalMixins.sizeMixin, _ui.globalMixins.vScrollbarMixin, _ui.globalMixins.initVScrollbarMixin],
|
|
76
96
|
model: {
|
|
77
97
|
prop: 'value',
|
|
78
98
|
event: 'modelValue'
|
|
@@ -83,13 +103,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
83
103
|
emptyValue: {
|
|
84
104
|
type: [String, Number, Boolean, Array],
|
|
85
105
|
default: function _default() {
|
|
86
|
-
return
|
|
106
|
+
return getConfig().select.emptyValue;
|
|
87
107
|
}
|
|
88
108
|
},
|
|
89
109
|
clearable: {
|
|
90
110
|
type: Boolean,
|
|
91
111
|
default: function _default() {
|
|
92
|
-
return
|
|
112
|
+
return getConfig().select.clearable;
|
|
93
113
|
}
|
|
94
114
|
},
|
|
95
115
|
placeholder: String,
|
|
@@ -106,14 +126,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
106
126
|
multiCharOverflow: {
|
|
107
127
|
type: [Number, String],
|
|
108
128
|
default: function _default() {
|
|
109
|
-
return
|
|
129
|
+
return getConfig().select.multiCharOverflow;
|
|
110
130
|
}
|
|
111
131
|
},
|
|
112
132
|
prefixIcon: String,
|
|
113
133
|
allowCreate: {
|
|
114
134
|
type: Boolean,
|
|
115
135
|
default: function _default() {
|
|
116
|
-
return
|
|
136
|
+
return getConfig().select.allowCreate;
|
|
117
137
|
}
|
|
118
138
|
},
|
|
119
139
|
placement: String,
|
|
@@ -137,14 +157,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
137
157
|
showRadio: {
|
|
138
158
|
type: Boolean,
|
|
139
159
|
default: function _default() {
|
|
140
|
-
return
|
|
160
|
+
return getConfig().select.showRadio;
|
|
141
161
|
}
|
|
142
162
|
},
|
|
143
163
|
radioConfig: Object,
|
|
144
164
|
showCheckbox: {
|
|
145
165
|
type: Boolean,
|
|
146
166
|
default: function _default() {
|
|
147
|
-
return
|
|
167
|
+
return getConfig().select.showCheckedButton;
|
|
148
168
|
}
|
|
149
169
|
},
|
|
150
170
|
checkboxConfig: Object,
|
|
@@ -156,7 +176,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
156
176
|
size: {
|
|
157
177
|
type: String,
|
|
158
178
|
default: function _default() {
|
|
159
|
-
return
|
|
179
|
+
return getConfig().select.size || getConfig().size;
|
|
160
180
|
}
|
|
161
181
|
},
|
|
162
182
|
filterable: Boolean,
|
|
@@ -172,37 +192,37 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
172
192
|
checkedClosable: {
|
|
173
193
|
type: Boolean,
|
|
174
194
|
default: function _default() {
|
|
175
|
-
return
|
|
195
|
+
return getConfig().select.checkedClosable;
|
|
176
196
|
}
|
|
177
197
|
},
|
|
178
198
|
clearClosable: {
|
|
179
199
|
type: Boolean,
|
|
180
200
|
default: function _default() {
|
|
181
|
-
return
|
|
201
|
+
return getConfig().select.clearClosable;
|
|
182
202
|
}
|
|
183
203
|
},
|
|
184
204
|
showCloseButton: {
|
|
185
205
|
type: Boolean,
|
|
186
206
|
default: function _default() {
|
|
187
|
-
return
|
|
207
|
+
return getConfig().select.showCloseButton;
|
|
188
208
|
}
|
|
189
209
|
},
|
|
190
210
|
showTotalButton: {
|
|
191
211
|
type: Boolean,
|
|
192
212
|
default: function _default() {
|
|
193
|
-
return
|
|
213
|
+
return getConfig().select.showTotalButton;
|
|
194
214
|
}
|
|
195
215
|
},
|
|
196
216
|
showCheckedButton: {
|
|
197
217
|
type: Boolean,
|
|
198
218
|
default: function _default() {
|
|
199
|
-
return
|
|
219
|
+
return getConfig().select.showCheckedButton;
|
|
200
220
|
}
|
|
201
221
|
},
|
|
202
222
|
showClearButton: {
|
|
203
223
|
type: Boolean,
|
|
204
224
|
default: function _default() {
|
|
205
|
-
return
|
|
225
|
+
return getConfig().select.showClearButton;
|
|
206
226
|
}
|
|
207
227
|
},
|
|
208
228
|
transfer: {
|
|
@@ -212,6 +232,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
212
232
|
popupConfig: Object,
|
|
213
233
|
virtualYConfig: Object,
|
|
214
234
|
scrollY: Object,
|
|
235
|
+
useScrollbar: {
|
|
236
|
+
type: Boolean,
|
|
237
|
+
default: function _default() {
|
|
238
|
+
return getDefVal(getConfig().select.useScrollbar, getConfig().useScrollbar);
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
scrollbarConfig: Object,
|
|
215
242
|
/**
|
|
216
243
|
* 已废弃,被 remote-config.queryMethod 替换
|
|
217
244
|
* @deprecated
|
|
@@ -224,7 +251,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
224
251
|
optionId: {
|
|
225
252
|
type: String,
|
|
226
253
|
default: function _default() {
|
|
227
|
-
return
|
|
254
|
+
return getConfig().select.optionId;
|
|
228
255
|
}
|
|
229
256
|
},
|
|
230
257
|
/**
|
|
@@ -262,7 +289,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
262
289
|
var reactData = createReactData();
|
|
263
290
|
return Object.assign(Object.assign({}, {}), {
|
|
264
291
|
xID: xID,
|
|
265
|
-
reactData: reactData
|
|
292
|
+
reactData: reactData,
|
|
293
|
+
reLayoutFlag: 0,
|
|
294
|
+
reScrollFlag: 0
|
|
266
295
|
});
|
|
267
296
|
},
|
|
268
297
|
computed: Object.assign(Object.assign({}, {}), {
|
|
@@ -306,7 +335,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
306
335
|
return popupOpts.transfer;
|
|
307
336
|
}
|
|
308
337
|
if (transfer === null) {
|
|
309
|
-
var globalTransfer =
|
|
338
|
+
var globalTransfer = getConfig().select.transfer;
|
|
310
339
|
if (_xeUtils.default.isBoolean(globalTransfer)) {
|
|
311
340
|
return globalTransfer;
|
|
312
341
|
}
|
|
@@ -323,11 +352,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
323
352
|
if (placeholder) {
|
|
324
353
|
return (0, _utils.getFuncText)(placeholder);
|
|
325
354
|
}
|
|
326
|
-
var globalPlaceholder =
|
|
355
|
+
var globalPlaceholder = getConfig().select.placeholder;
|
|
327
356
|
if (globalPlaceholder) {
|
|
328
357
|
return (0, _utils.getFuncText)(globalPlaceholder);
|
|
329
358
|
}
|
|
330
|
-
return
|
|
359
|
+
return getI18n('vxe.base.pleaseSelect');
|
|
331
360
|
},
|
|
332
361
|
computeDefaultOpts: function computeDefaultOpts() {
|
|
333
362
|
var $xeSelect = this;
|
|
@@ -372,37 +401,37 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
372
401
|
computePopupOpts: function computePopupOpts() {
|
|
373
402
|
var $xeSelect = this;
|
|
374
403
|
var props = $xeSelect;
|
|
375
|
-
return Object.assign({},
|
|
404
|
+
return Object.assign({}, getConfig().select.popupConfig, props.popupConfig);
|
|
376
405
|
},
|
|
377
406
|
computeVirtualYOpts: function computeVirtualYOpts() {
|
|
378
407
|
var $xeSelect = this;
|
|
379
408
|
var props = $xeSelect;
|
|
380
|
-
return Object.assign({},
|
|
409
|
+
return Object.assign({}, getConfig().select.virtualYConfig || getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
|
|
381
410
|
},
|
|
382
411
|
computeRemoteOpts: function computeRemoteOpts() {
|
|
383
412
|
var $xeSelect = this;
|
|
384
413
|
var props = $xeSelect;
|
|
385
|
-
return Object.assign({},
|
|
414
|
+
return Object.assign({}, getConfig().select.remoteConfig, props.remoteConfig);
|
|
386
415
|
},
|
|
387
416
|
computeFilterOpts: function computeFilterOpts() {
|
|
388
417
|
var $xeSelect = this;
|
|
389
418
|
var props = $xeSelect;
|
|
390
|
-
return Object.assign({},
|
|
419
|
+
return Object.assign({}, getConfig().select.filterConfig, props.filterConfig);
|
|
391
420
|
},
|
|
392
421
|
computeOptionOpts: function computeOptionOpts() {
|
|
393
422
|
var $xeSelect = this;
|
|
394
423
|
var props = $xeSelect;
|
|
395
|
-
return Object.assign({},
|
|
424
|
+
return Object.assign({}, getConfig().select.optionConfig, props.optionConfig);
|
|
396
425
|
},
|
|
397
426
|
computeRadioOpts: function computeRadioOpts() {
|
|
398
427
|
var $xeSelect = this;
|
|
399
428
|
var props = $xeSelect;
|
|
400
|
-
return Object.assign({},
|
|
429
|
+
return Object.assign({}, getConfig().select.radioConfig, props.radioConfig);
|
|
401
430
|
},
|
|
402
431
|
computeCheckboxOpts: function computeCheckboxOpts() {
|
|
403
432
|
var $xeSelect = this;
|
|
404
433
|
var props = $xeSelect;
|
|
405
|
-
return Object.assign({},
|
|
434
|
+
return Object.assign({}, getConfig().select.checkboxConfig, props.checkboxConfig);
|
|
406
435
|
},
|
|
407
436
|
computeIsGroup: function computeIsGroup() {
|
|
408
437
|
var $xeSelect = this;
|
|
@@ -497,6 +526,83 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
497
526
|
return "".concat(labels.slice(0, multiMaxCharNum), "...");
|
|
498
527
|
}
|
|
499
528
|
return labels.join(', ');
|
|
529
|
+
},
|
|
530
|
+
computeScrollbarOpts: function computeScrollbarOpts() {
|
|
531
|
+
var $xeSelect = this;
|
|
532
|
+
var props = $xeSelect;
|
|
533
|
+
return Object.assign({}, getConfig().tree.scrollbarConfig, props.scrollbarConfig);
|
|
534
|
+
},
|
|
535
|
+
computeScrollbarXOpts: function computeScrollbarXOpts() {
|
|
536
|
+
var $xeSelect = this;
|
|
537
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
538
|
+
return Object.assign({}, getConfig().scrollbar.xConfig, scrollbarOpts.xConfig, {
|
|
539
|
+
visible: false
|
|
540
|
+
});
|
|
541
|
+
},
|
|
542
|
+
computeScrollbarYOpts: function computeScrollbarYOpts() {
|
|
543
|
+
var $xeSelect = this;
|
|
544
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
545
|
+
return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
546
|
+
},
|
|
547
|
+
computeScrollXHeight: function computeScrollXHeight() {
|
|
548
|
+
var $xeSelect = this;
|
|
549
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
550
|
+
var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
551
|
+
return getDefVal(getDefVal(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
|
|
552
|
+
},
|
|
553
|
+
computeScrollYWidth: function computeScrollYWidth() {
|
|
554
|
+
var $xeSelect = this;
|
|
555
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
556
|
+
var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
557
|
+
return getDefVal(getDefVal(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
|
|
558
|
+
},
|
|
559
|
+
computeScrollXVisible: function computeScrollXVisible() {
|
|
560
|
+
var $xeSelect = this;
|
|
561
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
562
|
+
var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
563
|
+
return getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
564
|
+
},
|
|
565
|
+
computeScrollYVisible: function computeScrollYVisible() {
|
|
566
|
+
var $xeSelect = this;
|
|
567
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
568
|
+
var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
569
|
+
return getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
570
|
+
},
|
|
571
|
+
computeScrollXAutoHide: function computeScrollXAutoHide() {
|
|
572
|
+
var $xeSelect = this;
|
|
573
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
574
|
+
var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
575
|
+
return getDefVal(getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
576
|
+
},
|
|
577
|
+
computeScrollYAutoHide: function computeScrollYAutoHide() {
|
|
578
|
+
var $xeSelect = this;
|
|
579
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
580
|
+
var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
581
|
+
return getDefVal(getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
582
|
+
},
|
|
583
|
+
computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
|
|
584
|
+
var $xeSelect = this;
|
|
585
|
+
var reactData = $xeSelect.reactData;
|
|
586
|
+
var yThumbHeight = reactData.yThumbHeight,
|
|
587
|
+
xThumbWidth = reactData.xThumbWidth;
|
|
588
|
+
var scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
|
|
589
|
+
var scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
|
|
590
|
+
var scrollXVisible = $xeSelect.computeScrollXVisible;
|
|
591
|
+
var scrollYVisible = $xeSelect.computeScrollYVisible;
|
|
592
|
+
return domUtils.buildClass(['vxe-scrollbar is--virtual', "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible'), "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible'), "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom'), "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right')], {
|
|
593
|
+
'overflow-y': yThumbHeight,
|
|
594
|
+
'overflow-x': xThumbWidth
|
|
595
|
+
});
|
|
596
|
+
},
|
|
597
|
+
computeScrollbarXToTop: function computeScrollbarXToTop() {
|
|
598
|
+
var $xeSelect = this;
|
|
599
|
+
var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
600
|
+
return scrollbarXOpts.position === 'top';
|
|
601
|
+
},
|
|
602
|
+
computeScrollbarYToLeft: function computeScrollbarYToLeft() {
|
|
603
|
+
var $xeSelect = this;
|
|
604
|
+
var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
605
|
+
return scrollbarYOpts.position === 'left';
|
|
500
606
|
}
|
|
501
607
|
}),
|
|
502
608
|
methods: {
|
|
@@ -505,7 +611,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
505
611
|
//
|
|
506
612
|
dispatchEvent: function dispatchEvent(type, params, evnt) {
|
|
507
613
|
var $xeSelect = this;
|
|
508
|
-
$xeSelect.$emit(type,
|
|
614
|
+
$xeSelect.$emit(type, createEvent(evnt, {
|
|
509
615
|
$select: $xeSelect
|
|
510
616
|
}, params));
|
|
511
617
|
},
|
|
@@ -525,6 +631,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
525
631
|
value: value
|
|
526
632
|
}, null);
|
|
527
633
|
},
|
|
634
|
+
getScrollViewElem: function getScrollViewElem() {
|
|
635
|
+
var $xeSelect = this;
|
|
636
|
+
var viewEl = $xeSelect.$refs.refVirtualWrapper;
|
|
637
|
+
return viewEl || null;
|
|
638
|
+
},
|
|
528
639
|
isPanelVisible: function isPanelVisible() {
|
|
529
640
|
var $xeSelect = this;
|
|
530
641
|
var reactData = $xeSelect.reactData;
|
|
@@ -998,7 +1109,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
998
1109
|
if ($xeSelect.checkMaxLimit(currVlas)) {
|
|
999
1110
|
if (_ui.VxeUI) {
|
|
1000
1111
|
_ui.VxeUI.modal.message({
|
|
1001
|
-
content:
|
|
1112
|
+
content: getI18n('vxe.select.overSizeErr', [max]),
|
|
1002
1113
|
status: 'warning'
|
|
1003
1114
|
});
|
|
1004
1115
|
}
|
|
@@ -1183,12 +1294,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1183
1294
|
var popupOpts = $xeSelect.computePopupOpts;
|
|
1184
1295
|
var trigger = popupOpts.trigger;
|
|
1185
1296
|
if (!isDisabled) {
|
|
1186
|
-
var isTab =
|
|
1187
|
-
var isEnter =
|
|
1188
|
-
var isEsc =
|
|
1189
|
-
var isUpArrow =
|
|
1190
|
-
var isDwArrow =
|
|
1191
|
-
var isDel =
|
|
1297
|
+
var isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
|
|
1298
|
+
var isEnter = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER);
|
|
1299
|
+
var isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
|
|
1300
|
+
var isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
1301
|
+
var isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
1302
|
+
var isDel = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE);
|
|
1192
1303
|
if (isTab) {
|
|
1193
1304
|
reactData.isActivated = false;
|
|
1194
1305
|
}
|
|
@@ -1561,6 +1672,17 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1561
1672
|
}
|
|
1562
1673
|
});
|
|
1563
1674
|
},
|
|
1675
|
+
updateScrollbar: function updateScrollbar() {
|
|
1676
|
+
var $xeSelect = this;
|
|
1677
|
+
var isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1678
|
+
if (isVScrollbar) {
|
|
1679
|
+
return $xeSelect.$nextTick().then(function () {
|
|
1680
|
+
$xeSelect.updateThumbSize();
|
|
1681
|
+
$xeSelect.updateThumbOffset();
|
|
1682
|
+
});
|
|
1683
|
+
}
|
|
1684
|
+
return Promise.resolve();
|
|
1685
|
+
},
|
|
1564
1686
|
/**
|
|
1565
1687
|
* 重新计算列表
|
|
1566
1688
|
*/
|
|
@@ -1568,7 +1690,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1568
1690
|
var $xeSelect = this;
|
|
1569
1691
|
var el = $xeSelect.$refs.refElem;
|
|
1570
1692
|
if (el && el.clientWidth && el.clientHeight) {
|
|
1571
|
-
return $xeSelect.computeScrollLoad()
|
|
1693
|
+
return $xeSelect.computeScrollLoad().then(function () {
|
|
1694
|
+
return $xeSelect.updateScrollbar();
|
|
1695
|
+
});
|
|
1572
1696
|
}
|
|
1573
1697
|
return Promise.resolve();
|
|
1574
1698
|
},
|
|
@@ -1609,6 +1733,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1609
1733
|
var scrollBodyElem = evnt.target;
|
|
1610
1734
|
var scrollTop = scrollBodyElem.scrollTop;
|
|
1611
1735
|
var scrollLeft = scrollBodyElem.scrollLeft;
|
|
1736
|
+
$xeSelect.updateThumbOffset();
|
|
1612
1737
|
var isX = scrollLeft !== internalData.lastScrollLeft;
|
|
1613
1738
|
var isY = scrollTop !== internalData.lastScrollTop;
|
|
1614
1739
|
internalData.lastScrollTop = scrollTop;
|
|
@@ -1705,6 +1830,29 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1705
1830
|
var optGroupKeyMaps = internalData.optGroupKeyMaps;
|
|
1706
1831
|
return !!optGroupKeyMaps[optid];
|
|
1707
1832
|
},
|
|
1833
|
+
// 滚动条
|
|
1834
|
+
bindScrollbarResize: function bindScrollbarResize() {
|
|
1835
|
+
var $xeSelect = this;
|
|
1836
|
+
var internalData = $xeSelect.internalData;
|
|
1837
|
+
var isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1838
|
+
var scrollObserver = internalData.scrollObserver;
|
|
1839
|
+
if (isVScrollbar) {
|
|
1840
|
+
if (!scrollObserver) {
|
|
1841
|
+
var el = $xeSelect.$refs.refElem;
|
|
1842
|
+
var viewInnerEl = $xeSelect.$refs.refVirtualSpaceElem;
|
|
1843
|
+
var _scrollObserver = globalResize.create(function () {
|
|
1844
|
+
$xeSelect.reScrollFlag++;
|
|
1845
|
+
});
|
|
1846
|
+
if (el) {
|
|
1847
|
+
_scrollObserver.observe(el);
|
|
1848
|
+
}
|
|
1849
|
+
if (viewInnerEl) {
|
|
1850
|
+
_scrollObserver.observe(viewInnerEl);
|
|
1851
|
+
}
|
|
1852
|
+
internalData.scrollObserver = _scrollObserver;
|
|
1853
|
+
}
|
|
1854
|
+
}
|
|
1855
|
+
},
|
|
1708
1856
|
//
|
|
1709
1857
|
// Render
|
|
1710
1858
|
//
|
|
@@ -1714,7 +1862,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1714
1862
|
var showIcon = radioOpts.showIcon,
|
|
1715
1863
|
trigger = radioOpts.trigger;
|
|
1716
1864
|
if (isOptGroup || showIcon === false) {
|
|
1717
|
-
return
|
|
1865
|
+
return renderEmptyElement($xeSelect);
|
|
1718
1866
|
}
|
|
1719
1867
|
var ons = {};
|
|
1720
1868
|
if (!trigger || trigger === 'default') {
|
|
@@ -1732,7 +1880,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1732
1880
|
}],
|
|
1733
1881
|
on: ons
|
|
1734
1882
|
}, [h('span', {
|
|
1735
|
-
class: ['vxe-radio--icon', isChecked ?
|
|
1883
|
+
class: ['vxe-radio--icon', isChecked ? getIcon().RADIO_CHECKED : isDisabled ? getIcon().RADIO_DISABLED_UNCHECKED : getIcon().RADIO_UNCHECKED]
|
|
1736
1884
|
})]);
|
|
1737
1885
|
},
|
|
1738
1886
|
renderCheckbox: function renderCheckbox(h, option, isOptGroup, isChecked, isDisabled) {
|
|
@@ -1741,7 +1889,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1741
1889
|
var showIcon = checkboxOpts.showIcon,
|
|
1742
1890
|
trigger = checkboxOpts.trigger;
|
|
1743
1891
|
if (isOptGroup || showIcon === false) {
|
|
1744
|
-
return
|
|
1892
|
+
return renderEmptyElement($xeSelect);
|
|
1745
1893
|
}
|
|
1746
1894
|
var ons = {};
|
|
1747
1895
|
if (!trigger || trigger === 'default') {
|
|
@@ -1759,7 +1907,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1759
1907
|
}],
|
|
1760
1908
|
on: ons
|
|
1761
1909
|
}, [h('span', {
|
|
1762
|
-
class: ['vxe-checkbox--icon', isChecked ?
|
|
1910
|
+
class: ['vxe-checkbox--icon', isChecked ? getIcon().CHECKBOX_CHECKED : isDisabled ? getIcon().CHECKBOX_DISABLED_UNCHECKED : getIcon().CHECKBOX_UNCHECKED]
|
|
1763
1911
|
})]);
|
|
1764
1912
|
},
|
|
1765
1913
|
renderOption: function renderOption(h, list) {
|
|
@@ -1866,8 +2014,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1866
2014
|
key: 2,
|
|
1867
2015
|
class: 'vxe-select-option--add-icon'
|
|
1868
2016
|
}, [h('i', {
|
|
1869
|
-
class:
|
|
1870
|
-
})]) :
|
|
2017
|
+
class: getIcon().SELECT_ADD_OPTION
|
|
2018
|
+
})]) : renderEmptyElement($xeSelect)] : optVNs) : renderEmptyElement($xeSelect);
|
|
1871
2019
|
});
|
|
1872
2020
|
},
|
|
1873
2021
|
renderOpts: function renderOpts(h) {
|
|
@@ -1880,17 +2028,17 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1880
2028
|
return [h('div', {
|
|
1881
2029
|
class: 'vxe-select--search-loading'
|
|
1882
2030
|
}, [h('i', {
|
|
1883
|
-
class: ['vxe-select--search-icon',
|
|
2031
|
+
class: ['vxe-select--search-icon', getIcon().SELECT_LOADED]
|
|
1884
2032
|
}), h('span', {
|
|
1885
2033
|
class: 'vxe-select--search-text'
|
|
1886
|
-
},
|
|
2034
|
+
}, getI18n('vxe.select.loadingText'))])];
|
|
1887
2035
|
}
|
|
1888
2036
|
if (optList.length) {
|
|
1889
2037
|
return $xeSelect.renderOption(h, optList);
|
|
1890
2038
|
}
|
|
1891
2039
|
return [h('div', {
|
|
1892
2040
|
class: 'vxe-select--empty-placeholder'
|
|
1893
|
-
}, props.emptyText ||
|
|
2041
|
+
}, props.emptyText || getI18n('vxe.select.emptyText'))];
|
|
1894
2042
|
},
|
|
1895
2043
|
renderVN: function renderVN(h) {
|
|
1896
2044
|
var $xeSelect = this;
|
|
@@ -1911,8 +2059,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1911
2059
|
optList = reactData.optList,
|
|
1912
2060
|
visiblePanel = reactData.visiblePanel,
|
|
1913
2061
|
bodyHeight = reactData.bodyHeight,
|
|
1914
|
-
topSpaceHeight = reactData.topSpaceHeight
|
|
2062
|
+
topSpaceHeight = reactData.topSpaceHeight,
|
|
2063
|
+
xThumbWidth = reactData.xThumbWidth,
|
|
2064
|
+
yThumbHeight = reactData.yThumbHeight;
|
|
1915
2065
|
var vSize = $xeSelect.computeSize;
|
|
2066
|
+
var isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1916
2067
|
var isDisabled = $xeSelect.computeIsDisabled;
|
|
1917
2068
|
var selectLabel = $xeSelect.computeSelectLabel;
|
|
1918
2069
|
var fullLabel = $xeSelect.computeFullLabel;
|
|
@@ -1942,6 +2093,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1942
2093
|
var footerSlot = slots.footer;
|
|
1943
2094
|
var prefixSlot = slots.prefix;
|
|
1944
2095
|
var ppClassName = popupOpts.className || props.popupClassName;
|
|
2096
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
2097
|
+
var scrollXVisible = $xeSelect.computeScrollXVisible;
|
|
2098
|
+
var scrollYVisible = $xeSelect.computeScrollYVisible;
|
|
2099
|
+
var scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
|
|
2100
|
+
var scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
|
|
2101
|
+
var scrollXAutoHide = $xeSelect.computeScrollXAutoHide;
|
|
2102
|
+
var scrollYAutoHide = $xeSelect.computeScrollYAutoHide;
|
|
2103
|
+
var scrollbarWrapperClss = $xeSelect.computeScrollbarWrapperClss;
|
|
1945
2104
|
return h('div', {
|
|
1946
2105
|
ref: 'refElem',
|
|
1947
2106
|
class: ['vxe-select', className ? _xeUtils.default.isFunction(className) ? className({
|
|
@@ -1960,7 +2119,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1960
2119
|
disabled: isDisabled,
|
|
1961
2120
|
type: 'text',
|
|
1962
2121
|
prefixIcon: props.prefixIcon,
|
|
1963
|
-
suffixIcon: loading ?
|
|
2122
|
+
suffixIcon: loading ? getIcon().SELECT_LOADED : visiblePanel ? getIcon().SELECT_OPEN : getIcon().SELECT_CLOSE,
|
|
1964
2123
|
autoFocus: false,
|
|
1965
2124
|
title: fullLabel,
|
|
1966
2125
|
value: selectLabel
|
|
@@ -2000,8 +2159,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2000
2159
|
clearable: true,
|
|
2001
2160
|
disabled: false,
|
|
2002
2161
|
readonly: false,
|
|
2003
|
-
placeholder:
|
|
2004
|
-
prefixIcon:
|
|
2162
|
+
placeholder: getI18n('vxe.select.search'),
|
|
2163
|
+
prefixIcon: getIcon().INPUT_SEARCH
|
|
2005
2164
|
},
|
|
2006
2165
|
on: {
|
|
2007
2166
|
'model-value': $xeSelect.modelSearchEvent,
|
|
@@ -2009,7 +2168,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2009
2168
|
change: $xeSelect.triggerSearchEvent,
|
|
2010
2169
|
search: $xeSelect.triggerSearchEvent
|
|
2011
2170
|
}
|
|
2012
|
-
})]) :
|
|
2171
|
+
})]) : renderEmptyElement($xeSelect), showCheckedButton && multiple || showClearButton || headerSlot ? h('div', {
|
|
2013
2172
|
class: 'vxe-select--panel-header'
|
|
2014
2173
|
}, headerSlot ? $xeSelect.callSlot(headerSlot, {}, h) : [h('div', {
|
|
2015
2174
|
class: 'vxe-tree-select--header-button'
|
|
@@ -2017,22 +2176,29 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2017
2176
|
class: 'vxe-tree-select--header-btns'
|
|
2018
2177
|
}, [showCheckedButton && multiple ? h(_button.default, {
|
|
2019
2178
|
props: {
|
|
2020
|
-
content:
|
|
2179
|
+
content: getI18n('vxe.select.allChecked'),
|
|
2021
2180
|
mode: 'text'
|
|
2022
2181
|
},
|
|
2023
2182
|
on: {
|
|
2024
2183
|
click: $xeSelect.allCheckedPanelEvent
|
|
2025
2184
|
}
|
|
2026
|
-
}) :
|
|
2185
|
+
}) : renderEmptyElement($xeSelect), showClearButton ? h(_button.default, {
|
|
2027
2186
|
props: {
|
|
2028
|
-
content:
|
|
2187
|
+
content: getI18n('vxe.select.clear'),
|
|
2029
2188
|
mode: 'text'
|
|
2030
2189
|
},
|
|
2031
2190
|
on: {
|
|
2032
2191
|
click: $xeSelect.clearCheckedPanelEvent
|
|
2033
2192
|
}
|
|
2034
|
-
}) :
|
|
2035
|
-
class: 'vxe-select--panel-body'
|
|
2193
|
+
}) : renderEmptyElement($xeSelect)])])]) : renderEmptyElement($xeSelect), h('div', {
|
|
2194
|
+
class: ['vxe-select--panel-body', isVScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', isVScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', {
|
|
2195
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
2196
|
+
'ov-padding': isVScrollbar && scrollbarOpts.padding,
|
|
2197
|
+
'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
|
|
2198
|
+
'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
|
|
2199
|
+
'overflow-y': yThumbHeight,
|
|
2200
|
+
'overflow-x': xThumbWidth
|
|
2201
|
+
}]
|
|
2036
2202
|
}, [h('div', {
|
|
2037
2203
|
ref: 'refVirtualWrapper',
|
|
2038
2204
|
class: 'vxe-select-option--wrapper',
|
|
@@ -2040,6 +2206,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2040
2206
|
scroll: $xeSelect.scrollEvent
|
|
2041
2207
|
}
|
|
2042
2208
|
}, [h('div', {
|
|
2209
|
+
ref: 'refVirtualSpaceElem',
|
|
2043
2210
|
class: 'vxe-select--y-space',
|
|
2044
2211
|
style: {
|
|
2045
2212
|
height: bodyHeight ? "".concat(bodyHeight, "px") : ''
|
|
@@ -2050,23 +2217,61 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2050
2217
|
style: {
|
|
2051
2218
|
transform: "translateY(".concat(topSpaceHeight, "px)")
|
|
2052
2219
|
}
|
|
2053
|
-
}, $xeSelect.renderOpts(h))])
|
|
2220
|
+
}, $xeSelect.renderOpts(h))]),
|
|
2221
|
+
/**
|
|
2222
|
+
* 滚动条
|
|
2223
|
+
*/
|
|
2224
|
+
isVScrollbar ? h('div', {
|
|
2225
|
+
class: scrollbarWrapperClss
|
|
2226
|
+
}, [scrollXVisible === false ? renderEmptyElement($xeSelect) : h('div', {
|
|
2227
|
+
ref: 'refTrackXElem',
|
|
2228
|
+
class: 'vxe-scrollbar--track-x',
|
|
2229
|
+
on: {
|
|
2230
|
+
click: $xeSelect.clickTrackXEvent
|
|
2231
|
+
}
|
|
2232
|
+
}, [h('div', {
|
|
2233
|
+
ref: 'refThumbXElem',
|
|
2234
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
2235
|
+
on: {
|
|
2236
|
+
pointerdown: $xeSelect.pointerdownThumbXEvent,
|
|
2237
|
+
pointermove: $xeSelect.pointermoveThumbXEvent,
|
|
2238
|
+
pointerup: $xeSelect.cleatPointerThumbEvent,
|
|
2239
|
+
pointercancel: $xeSelect.cleatPointerThumbEvent,
|
|
2240
|
+
lostpointercapture: $xeSelect.cleatPointerThumbEvent
|
|
2241
|
+
}
|
|
2242
|
+
})]), scrollYVisible === false ? renderEmptyElement($xeSelect) : h('div', {
|
|
2243
|
+
ref: 'refTrackYElem',
|
|
2244
|
+
class: 'vxe-scrollbar--track-y',
|
|
2245
|
+
on: {
|
|
2246
|
+
click: $xeSelect.clickTrackYEvent
|
|
2247
|
+
}
|
|
2248
|
+
}, [h('div', {
|
|
2249
|
+
ref: 'refThumbYElem',
|
|
2250
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
2251
|
+
on: {
|
|
2252
|
+
pointerdown: $xeSelect.pointerdownThumbYEvent,
|
|
2253
|
+
pointermove: $xeSelect.pointermoveThumbYEvent,
|
|
2254
|
+
pointerup: $xeSelect.cleatPointerThumbEvent,
|
|
2255
|
+
pointercancel: $xeSelect.cleatPointerThumbEvent,
|
|
2256
|
+
lostpointercapture: $xeSelect.cleatPointerThumbEvent
|
|
2257
|
+
}
|
|
2258
|
+
})])]) : renderEmptyElement($xeSelect)]), footerSlot || showTotalButton || showCloseButton && multiple ? h('div', {
|
|
2054
2259
|
class: 'vxe-select--panel-footer'
|
|
2055
2260
|
}, footerSlot ? $xeSelect.callSlot(footerSlot, {}, h) : [h('div', {
|
|
2056
2261
|
class: 'vxe-select--footer-button'
|
|
2057
2262
|
}, [showTotalButton ? h('div', {
|
|
2058
2263
|
class: 'vxe-select--total-btns'
|
|
2059
|
-
},
|
|
2264
|
+
}, getI18n('vxe.select.total', [selectVals.length, optList.length])) : renderEmptyElement($xeSelect), showCloseButton && multiple ? h('div', {
|
|
2060
2265
|
class: 'vxe-select--oper-btns'
|
|
2061
2266
|
}, [h(_button.default, {
|
|
2062
2267
|
props: {
|
|
2063
|
-
content:
|
|
2268
|
+
content: getI18n('vxe.select.close'),
|
|
2064
2269
|
mode: 'text'
|
|
2065
2270
|
},
|
|
2066
2271
|
on: {
|
|
2067
2272
|
click: $xeSelect.closePanelEvent
|
|
2068
2273
|
}
|
|
2069
|
-
})]) :
|
|
2274
|
+
})]) : renderEmptyElement($xeSelect)])]) : renderEmptyElement($xeSelect)])] : [])]);
|
|
2070
2275
|
}
|
|
2071
2276
|
},
|
|
2072
2277
|
watch: {
|
|
@@ -2081,6 +2286,47 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2081
2286
|
optionGroups: function optionGroups(val) {
|
|
2082
2287
|
var $xeSelect = this;
|
|
2083
2288
|
$xeSelect.loadData(val);
|
|
2289
|
+
},
|
|
2290
|
+
computeIsVScrollbar: function computeIsVScrollbar() {
|
|
2291
|
+
var $xeSelect = this;
|
|
2292
|
+
$xeSelect.$nextTick(function () {
|
|
2293
|
+
$xeSelect.bindScrollbarResize();
|
|
2294
|
+
$xeSelect.$nextTick(function () {
|
|
2295
|
+
$xeSelect.reLayoutFlag++;
|
|
2296
|
+
});
|
|
2297
|
+
});
|
|
2298
|
+
},
|
|
2299
|
+
computeScrollYWidth: function computeScrollYWidth() {
|
|
2300
|
+
var $xeSelect = this;
|
|
2301
|
+
$xeSelect.reLayoutFlag++;
|
|
2302
|
+
},
|
|
2303
|
+
computeScrollXHeight: function computeScrollXHeight() {
|
|
2304
|
+
var $xeSelect = this;
|
|
2305
|
+
$xeSelect.reLayoutFlag++;
|
|
2306
|
+
},
|
|
2307
|
+
computeScrollXVisible: function computeScrollXVisible() {
|
|
2308
|
+
var $xeSelect = this;
|
|
2309
|
+
$xeSelect.$nextTick(function () {
|
|
2310
|
+
$xeSelect.reLayoutFlag++;
|
|
2311
|
+
});
|
|
2312
|
+
},
|
|
2313
|
+
computeScrollYVisible: function computeScrollYVisible() {
|
|
2314
|
+
var $xeSelect = this;
|
|
2315
|
+
$xeSelect.$nextTick(function () {
|
|
2316
|
+
$xeSelect.reLayoutFlag++;
|
|
2317
|
+
});
|
|
2318
|
+
},
|
|
2319
|
+
reLayoutFlag: function reLayoutFlag() {
|
|
2320
|
+
var $xeSelect = this;
|
|
2321
|
+
$xeSelect.recalculate().then(function () {
|
|
2322
|
+
$xeSelect.recalculate();
|
|
2323
|
+
});
|
|
2324
|
+
},
|
|
2325
|
+
reScrollFlag: function reScrollFlag() {
|
|
2326
|
+
var $xeSelect = this;
|
|
2327
|
+
$xeSelect.updateScrollbar().then(function () {
|
|
2328
|
+
$xeSelect.updateScrollbar();
|
|
2329
|
+
});
|
|
2084
2330
|
}
|
|
2085
2331
|
},
|
|
2086
2332
|
created: function created() {
|
|
@@ -2099,23 +2345,30 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2099
2345
|
$xeSelect.loadData(options);
|
|
2100
2346
|
}
|
|
2101
2347
|
});
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2348
|
+
$xeSelect.reLayoutFlag++;
|
|
2349
|
+
$xeSelect.bindScrollbarResize();
|
|
2350
|
+
globalEvents.on($xeSelect, 'mousedown', $xeSelect.handleGlobalMousedownEvent);
|
|
2351
|
+
globalEvents.on($xeSelect, 'keydown', $xeSelect.handleGlobalKeydownEvent);
|
|
2352
|
+
globalEvents.on($xeSelect, 'blur', $xeSelect.handleGlobalBlurEvent);
|
|
2353
|
+
globalEvents.on($xeSelect, 'resize', $xeSelect.handleGlobalResizeEvent);
|
|
2354
|
+
globalEvents.on($xeSelect, 'scroll', $xeSelect.handleGlobalScrollEvent);
|
|
2107
2355
|
},
|
|
2108
2356
|
beforeDestroy: function beforeDestroy() {
|
|
2109
2357
|
var $xeSelect = this;
|
|
2358
|
+
var internalData = $xeSelect.internalData;
|
|
2359
|
+
var scrollObserver = internalData.scrollObserver;
|
|
2110
2360
|
var panelElem = $xeSelect.$refs.refOptionPanel;
|
|
2111
2361
|
if (panelElem && panelElem.parentNode) {
|
|
2112
2362
|
panelElem.parentNode.removeChild(panelElem);
|
|
2113
2363
|
}
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2364
|
+
if (scrollObserver) {
|
|
2365
|
+
scrollObserver.disconnect();
|
|
2366
|
+
}
|
|
2367
|
+
globalEvents.off($xeSelect, 'mousedown');
|
|
2368
|
+
globalEvents.off($xeSelect, 'keydown');
|
|
2369
|
+
globalEvents.off($xeSelect, 'blur');
|
|
2370
|
+
globalEvents.off($xeSelect, 'resize');
|
|
2371
|
+
globalEvents.off($xeSelect, 'scroll');
|
|
2119
2372
|
},
|
|
2120
2373
|
destroyed: function destroyed() {
|
|
2121
2374
|
var $xeSelect = this;
|