vxe-pc-ui 4.11.43 → 4.11.45
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/button/src/button.js +18 -6
- package/es/date-picker/src/date-picker.js +17 -5
- package/es/date-range-picker/src/date-range-picker.js +17 -5
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +36 -74
- package/es/pulldown/src/pulldown.js +26 -6
- package/es/select/src/select.js +55 -16
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +17 -7
- package/es/tree-select/src/tree-select.js +21 -7
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/button/src/button.js +18 -9
- package/lib/button/src/button.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +19 -7
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +19 -7
- package/lib/date-range-picker/src/date-range-picker.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 +39 -80
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/index.umd.js +220 -157
- package/lib/index.umd.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +26 -9
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/select/src/select.js +57 -21
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +18 -12
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +22 -10
- package/lib/tree-select/src/tree-select.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/package.json +1 -1
- package/packages/button/src/button.ts +19 -6
- package/packages/date-picker/src/date-picker.ts +18 -5
- package/packages/date-range-picker/src/date-range-picker.ts +18 -5
- package/packages/icon-picker/src/icon-picker.ts +37 -71
- package/packages/pulldown/src/pulldown.ts +27 -6
- package/packages/select/src/select.ts +54 -16
- package/packages/table-select/src/table-select.ts +17 -7
- package/packages/tree-select/src/tree-select.ts +21 -7
- package/types/components/button.d.ts +18 -0
- package/types/components/date-picker.d.ts +8 -0
- package/types/components/date-range-picker.d.ts +8 -0
- package/types/components/icon-picker.d.ts +24 -0
- package/types/components/pulldown.d.ts +28 -0
- package/types/components/select.d.ts +70 -0
- package/types/components/table-select.d.ts +16 -1
- package/types/components/table.d.ts +2 -2
- package/types/components/tree-select.d.ts +20 -2
- package/types/components/upload.d.ts +1 -1
- /package/es/icon/{iconfont.1768192734102.ttf → iconfont.1768381374840.ttf} +0 -0
- /package/es/icon/{iconfont.1768192734102.woff → iconfont.1768381374840.woff} +0 -0
- /package/es/icon/{iconfont.1768192734102.woff2 → iconfont.1768381374840.woff2} +0 -0
- /package/es/{iconfont.1768192734102.ttf → iconfont.1768381374840.ttf} +0 -0
- /package/es/{iconfont.1768192734102.woff → iconfont.1768381374840.woff} +0 -0
- /package/es/{iconfont.1768192734102.woff2 → iconfont.1768381374840.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1768192734102.ttf → iconfont.1768381374840.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1768192734102.woff → iconfont.1768381374840.woff} +0 -0
- /package/lib/icon/style/{iconfont.1768192734102.woff2 → iconfont.1768381374840.woff2} +0 -0
- /package/lib/{iconfont.1768192734102.ttf → iconfont.1768381374840.ttf} +0 -0
- /package/lib/{iconfont.1768192734102.woff → iconfont.1768381374840.woff} +0 -0
- /package/lib/{iconfont.1768192734102.woff2 → iconfont.1768381374840.woff2} +0 -0
|
@@ -14,6 +14,10 @@ export default defineVxeComponent({
|
|
|
14
14
|
type: String,
|
|
15
15
|
default: getConfig().pulldown.trigger
|
|
16
16
|
},
|
|
17
|
+
/**
|
|
18
|
+
* 已废弃,请使用 popupConfig.zIndex
|
|
19
|
+
* @deprecated
|
|
20
|
+
*/
|
|
17
21
|
zIndex: Number,
|
|
18
22
|
size: {
|
|
19
23
|
type: String,
|
|
@@ -24,8 +28,13 @@ export default defineVxeComponent({
|
|
|
24
28
|
type: [String, Function],
|
|
25
29
|
default: getConfig().pulldown.className
|
|
26
30
|
},
|
|
31
|
+
/**
|
|
32
|
+
* 已废弃,请使用 popupConfig.className
|
|
33
|
+
* @deprecated
|
|
34
|
+
*/
|
|
27
35
|
popupClassName: [String, Function],
|
|
28
36
|
showPopupShadow: Boolean,
|
|
37
|
+
popupConfig: Object,
|
|
29
38
|
destroyOnClose: {
|
|
30
39
|
type: Boolean,
|
|
31
40
|
default: getConfig().pulldown.destroyOnClose
|
|
@@ -68,6 +77,10 @@ export default defineVxeComponent({
|
|
|
68
77
|
const refPulldownPanel = ref();
|
|
69
78
|
const computeBtnTransfer = computed(() => {
|
|
70
79
|
const { transfer } = props;
|
|
80
|
+
const popupOpts = computePopupOpts.value;
|
|
81
|
+
if (XEUtils.isBoolean(popupOpts.transfer)) {
|
|
82
|
+
return popupOpts.transfer;
|
|
83
|
+
}
|
|
71
84
|
if (transfer === null) {
|
|
72
85
|
const globalTransfer = getConfig().pulldown.transfer;
|
|
73
86
|
if (XEUtils.isBoolean(globalTransfer)) {
|
|
@@ -79,6 +92,9 @@ export default defineVxeComponent({
|
|
|
79
92
|
}
|
|
80
93
|
return transfer;
|
|
81
94
|
});
|
|
95
|
+
const computePopupOpts = computed(() => {
|
|
96
|
+
return Object.assign({}, getConfig().pulldown.popupConfig, props.popupConfig);
|
|
97
|
+
});
|
|
82
98
|
const refMaps = {
|
|
83
99
|
refElem
|
|
84
100
|
};
|
|
@@ -92,9 +108,10 @@ export default defineVxeComponent({
|
|
|
92
108
|
};
|
|
93
109
|
let pulldownMethods = {};
|
|
94
110
|
const updateZindex = () => {
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
111
|
+
const popupOpts = computePopupOpts.value;
|
|
112
|
+
const customZIndex = popupOpts.zIndex || props.zIndex;
|
|
113
|
+
if (customZIndex) {
|
|
114
|
+
reactData.panelIndex = XEUtils.toNumber(customZIndex);
|
|
98
115
|
}
|
|
99
116
|
else if (reactData.panelIndex < getLastZIndex()) {
|
|
100
117
|
reactData.panelIndex = nextZIndex();
|
|
@@ -112,9 +129,10 @@ export default defineVxeComponent({
|
|
|
112
129
|
const targetElem = refPulldownContent.value;
|
|
113
130
|
const panelElem = refPulldownPanel.value;
|
|
114
131
|
const btnTransfer = computeBtnTransfer.value;
|
|
132
|
+
const popupOpts = computePopupOpts.value;
|
|
115
133
|
const handleStyle = () => {
|
|
116
134
|
const ppObj = updatePanelPlacement(targetElem, panelElem, {
|
|
117
|
-
placement,
|
|
135
|
+
placement: popupOpts.placement || placement,
|
|
118
136
|
teleportTo: btnTransfer
|
|
119
137
|
});
|
|
120
138
|
const panelStyle = Object.assign(ppObj.style, {
|
|
@@ -309,14 +327,16 @@ export default defineVxeComponent({
|
|
|
309
327
|
: []);
|
|
310
328
|
};
|
|
311
329
|
const renderVN = () => {
|
|
312
|
-
const { className, options,
|
|
330
|
+
const { className, options, showPopupShadow, destroyOnClose, disabled } = props;
|
|
313
331
|
const { initialized, isActivated, isAniVisible, visiblePanel, panelStyle, panelPlacement } = reactData;
|
|
314
332
|
const btnTransfer = computeBtnTransfer.value;
|
|
315
333
|
const vSize = computeSize.value;
|
|
334
|
+
const popupOpts = computePopupOpts.value;
|
|
316
335
|
const defaultSlot = slots.default;
|
|
317
336
|
const headerSlot = slots.header;
|
|
318
337
|
const footerSlot = slots.footer;
|
|
319
338
|
const dropdownSlot = slots.dropdown;
|
|
339
|
+
const ppClassName = popupOpts.className || props.popupClassName;
|
|
320
340
|
return h('div', {
|
|
321
341
|
ref: refElem,
|
|
322
342
|
class: ['vxe-pulldown', className ? (XEUtils.isFunction(className) ? className({ $pulldown: $xePulldown }) : className) : '', {
|
|
@@ -337,7 +357,7 @@ export default defineVxeComponent({
|
|
|
337
357
|
}, [
|
|
338
358
|
h('div', {
|
|
339
359
|
ref: refPulldownPanel,
|
|
340
|
-
class: ['vxe-table--ignore-clear vxe-pulldown--panel',
|
|
360
|
+
class: ['vxe-table--ignore-clear vxe-pulldown--panel', ppClassName ? (XEUtils.isFunction(ppClassName) ? ppClassName({ $pulldown: $xePulldown }) : ppClassName) : '', {
|
|
341
361
|
[`size--${vSize}`]: vSize,
|
|
342
362
|
'is--transfer': btnTransfer,
|
|
343
363
|
'ani--leave': isAniVisible,
|
package/es/select/src/select.js
CHANGED
|
@@ -71,18 +71,31 @@ export default defineVxeComponent({
|
|
|
71
71
|
optionGroupProps: Object,
|
|
72
72
|
optionConfig: Object,
|
|
73
73
|
className: [String, Function],
|
|
74
|
+
/**
|
|
75
|
+
* 已废弃,请使用 popupConfig.className
|
|
76
|
+
* @deprecated
|
|
77
|
+
*/
|
|
74
78
|
popupClassName: [String, Function],
|
|
75
79
|
max: {
|
|
76
80
|
type: [String, Number],
|
|
77
81
|
default: null
|
|
78
82
|
},
|
|
83
|
+
/**
|
|
84
|
+
* 已废弃,请使用 popupConfig.zIndex
|
|
85
|
+
* @deprecated
|
|
86
|
+
*/
|
|
79
87
|
zIndex: Number,
|
|
80
88
|
size: {
|
|
81
89
|
type: String,
|
|
82
90
|
default: () => getConfig().select.size || getConfig().size
|
|
83
91
|
},
|
|
84
92
|
filterable: Boolean,
|
|
93
|
+
/**
|
|
94
|
+
* 已废弃,被 filter-config.filterMethod 替换
|
|
95
|
+
* @deprecated
|
|
96
|
+
*/
|
|
85
97
|
filterMethod: Function,
|
|
98
|
+
filterConfig: Object,
|
|
86
99
|
remote: Boolean,
|
|
87
100
|
remoteConfig: Object,
|
|
88
101
|
emptyText: String,
|
|
@@ -204,6 +217,10 @@ export default defineVxeComponent({
|
|
|
204
217
|
});
|
|
205
218
|
const computeBtnTransfer = computed(() => {
|
|
206
219
|
const { transfer } = props;
|
|
220
|
+
const popupOpts = computePopupOpts.value;
|
|
221
|
+
if (XEUtils.isBoolean(popupOpts.transfer)) {
|
|
222
|
+
return popupOpts.transfer;
|
|
223
|
+
}
|
|
207
224
|
if (transfer === null) {
|
|
208
225
|
const globalTransfer = getConfig().select.transfer;
|
|
209
226
|
if (XEUtils.isBoolean(globalTransfer)) {
|
|
@@ -256,7 +273,7 @@ export default defineVxeComponent({
|
|
|
256
273
|
return checkMaxLimit(selectVals);
|
|
257
274
|
});
|
|
258
275
|
const computePopupOpts = computed(() => {
|
|
259
|
-
return Object.assign({}, getConfig().
|
|
276
|
+
return Object.assign({}, getConfig().select.popupConfig, props.popupConfig);
|
|
260
277
|
});
|
|
261
278
|
const computeVirtualYOpts = computed(() => {
|
|
262
279
|
return Object.assign({}, getConfig().select.virtualYConfig || getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
|
|
@@ -264,6 +281,9 @@ export default defineVxeComponent({
|
|
|
264
281
|
const computeRemoteOpts = computed(() => {
|
|
265
282
|
return Object.assign({}, getConfig().select.remoteConfig, props.remoteConfig);
|
|
266
283
|
});
|
|
284
|
+
const computeFilterOpts = computed(() => {
|
|
285
|
+
return Object.assign({}, getConfig().select.filterConfig, props.filterConfig);
|
|
286
|
+
});
|
|
267
287
|
const computeOptionOpts = computed(() => {
|
|
268
288
|
return Object.assign({}, getConfig().select.optionConfig, props.optionConfig);
|
|
269
289
|
});
|
|
@@ -432,19 +452,21 @@ export default defineVxeComponent({
|
|
|
432
452
|
* 处理选项,当选项被动态显示/隐藏时可能会用到
|
|
433
453
|
*/
|
|
434
454
|
const handleOption = () => {
|
|
435
|
-
const { remote, modelValue, filterable
|
|
455
|
+
const { remote, modelValue, filterable } = props;
|
|
436
456
|
const { searchValue } = reactData;
|
|
437
457
|
const { fullData, optFullValMaps } = internalData;
|
|
438
458
|
const labelField = computeLabelField.value;
|
|
439
459
|
const valueField = computeValueField.value;
|
|
460
|
+
const filterOpts = computeFilterOpts.value;
|
|
461
|
+
const frMethod = filterOpts.filterMethod || props.filterMethod;
|
|
440
462
|
const searchStr = `${searchValue || ''}`.toLowerCase();
|
|
441
463
|
let avList = [];
|
|
442
464
|
if (remote) {
|
|
443
465
|
avList = fullData.filter(isOptionVisible);
|
|
444
466
|
}
|
|
445
467
|
else {
|
|
446
|
-
if (filterable &&
|
|
447
|
-
avList = fullData.filter(option => isOptionVisible(option) &&
|
|
468
|
+
if (filterable && frMethod) {
|
|
469
|
+
avList = fullData.filter(option => isOptionVisible(option) && frMethod({ $select: $xeSelect, group: null, option, searchValue, value: modelValue }));
|
|
448
470
|
}
|
|
449
471
|
else if (filterable) {
|
|
450
472
|
avList = fullData.filter(option => isOptionVisible(option) && (!searchStr || `${option[labelField] || option[valueField]}`.toLowerCase().indexOf(searchStr) > -1));
|
|
@@ -468,9 +490,10 @@ export default defineVxeComponent({
|
|
|
468
490
|
}
|
|
469
491
|
};
|
|
470
492
|
const updateZIndex = () => {
|
|
471
|
-
const
|
|
472
|
-
|
|
473
|
-
|
|
493
|
+
const popupOpts = computePopupOpts.value;
|
|
494
|
+
const customZIndex = popupOpts.zIndex || props.zIndex;
|
|
495
|
+
if (customZIndex) {
|
|
496
|
+
reactData.panelIndex = XEUtils.toNumber(customZIndex);
|
|
474
497
|
}
|
|
475
498
|
else if (reactData.panelIndex < getLastZIndex()) {
|
|
476
499
|
reactData.panelIndex = nextZIndex();
|
|
@@ -482,9 +505,10 @@ export default defineVxeComponent({
|
|
|
482
505
|
const targetElem = refElem.value;
|
|
483
506
|
const panelElem = refOptionPanel.value;
|
|
484
507
|
const btnTransfer = computeBtnTransfer.value;
|
|
508
|
+
const popupOpts = computePopupOpts.value;
|
|
485
509
|
const handleStyle = () => {
|
|
486
510
|
const ppObj = updatePanelPlacement(targetElem, panelElem, {
|
|
487
|
-
placement,
|
|
511
|
+
placement: popupOpts.placement || placement,
|
|
488
512
|
teleportTo: btnTransfer
|
|
489
513
|
});
|
|
490
514
|
const panelStyle = Object.assign(ppObj.style, {
|
|
@@ -525,7 +549,7 @@ export default defineVxeComponent({
|
|
|
525
549
|
reactData.isActivated = true;
|
|
526
550
|
reactData.isAniVisible = true;
|
|
527
551
|
if (filterable) {
|
|
528
|
-
if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullData.length) {
|
|
552
|
+
if (remote && remoteOpts.enabled && ((remoteOpts.autoLoad && !fullData.length) || (fullData.length && remoteOpts.clearOnClose))) {
|
|
529
553
|
handleSearchEvent();
|
|
530
554
|
}
|
|
531
555
|
else {
|
|
@@ -550,7 +574,22 @@ export default defineVxeComponent({
|
|
|
550
574
|
}
|
|
551
575
|
};
|
|
552
576
|
const hideOptionPanel = () => {
|
|
553
|
-
|
|
577
|
+
const { filterable, remote } = props;
|
|
578
|
+
const filterOpts = computeFilterOpts.value;
|
|
579
|
+
const remoteOpts = computeRemoteOpts.value;
|
|
580
|
+
if (remote) {
|
|
581
|
+
if (remoteOpts.clearOnClose) {
|
|
582
|
+
reactData.searchValue = '';
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
else if (filterable) {
|
|
586
|
+
if (filterOpts.clearOnClose) {
|
|
587
|
+
reactData.searchValue = '';
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
reactData.searchValue = '';
|
|
592
|
+
}
|
|
554
593
|
reactData.searchLoading = false;
|
|
555
594
|
reactData.visiblePanel = false;
|
|
556
595
|
internalData.hpTimeout = setTimeout(() => {
|
|
@@ -856,13 +895,13 @@ export default defineVxeComponent({
|
|
|
856
895
|
reactData.isActivated = true;
|
|
857
896
|
};
|
|
858
897
|
const handleSearchEvent = () => {
|
|
859
|
-
const { modelValue, remote
|
|
898
|
+
const { modelValue, remote } = props;
|
|
860
899
|
const { searchValue } = reactData;
|
|
861
900
|
const remoteOpts = computeRemoteOpts.value;
|
|
862
|
-
const
|
|
863
|
-
if (remote &&
|
|
901
|
+
const qyMethod = remoteOpts.queryMethod || props.remoteMethod;
|
|
902
|
+
if (remote && qyMethod && remoteOpts.enabled) {
|
|
864
903
|
reactData.searchLoading = true;
|
|
865
|
-
Promise.resolve(
|
|
904
|
+
Promise.resolve(qyMethod({ $select: $xeSelect, searchValue, value: modelValue })).then(() => nextTick())
|
|
866
905
|
.catch(() => nextTick())
|
|
867
906
|
.finally(() => {
|
|
868
907
|
reactData.searchLoading = false;
|
|
@@ -1344,11 +1383,11 @@ export default defineVxeComponent({
|
|
|
1344
1383
|
const inpPlaceholder = computeInpPlaceholder.value;
|
|
1345
1384
|
const popupWrapperStyle = computePopupWrapperStyle.value;
|
|
1346
1385
|
const popupOpts = computePopupOpts.value;
|
|
1347
|
-
const popupClassName = popupOpts.className || props.popupClassName;
|
|
1348
1386
|
const defaultSlot = slots.default;
|
|
1349
1387
|
const headerSlot = slots.header;
|
|
1350
1388
|
const footerSlot = slots.footer;
|
|
1351
1389
|
const prefixSlot = slots.prefix;
|
|
1390
|
+
const ppClassName = popupOpts.className || props.popupClassName;
|
|
1352
1391
|
if (formReadonly) {
|
|
1353
1392
|
return h('div', {
|
|
1354
1393
|
ref: refElem,
|
|
@@ -1408,7 +1447,7 @@ export default defineVxeComponent({
|
|
|
1408
1447
|
}, [
|
|
1409
1448
|
h('div', {
|
|
1410
1449
|
ref: refOptionPanel,
|
|
1411
|
-
class: ['vxe-table--ignore-clear vxe-select--panel',
|
|
1450
|
+
class: ['vxe-table--ignore-clear vxe-select--panel', ppClassName ? (XEUtils.isFunction(ppClassName) ? ppClassName({ $select: $xeSelect }) : ppClassName) : '', {
|
|
1412
1451
|
[`size--${vSize}`]: vSize,
|
|
1413
1452
|
'is--transfer': btnTransfer,
|
|
1414
1453
|
'ani--leave': !loading && isAniVisible,
|