vxe-pc-ui 4.1.19 → 4.1.21
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/README.md +83 -2
- package/es/anchor/src/anchor-link.js +1 -1
- package/es/anchor/src/anchor.js +1 -1
- package/es/breadcrumb/src/breadcrumb.js +1 -1
- package/es/button/src/button-group.js +4 -1
- package/es/button/src/button.js +2 -1
- package/es/calendar/src/calendar.js +64 -32
- package/es/card/src/card.js +4 -3
- package/es/carousel/src/carousel-item.js +13 -3
- package/es/carousel/src/carousel.js +16 -8
- package/es/checkbox/src/checkbox.js +30 -14
- package/es/checkbox/src/group.js +17 -8
- package/es/collapse-pane/index.js +1 -1
- package/es/countdown/src/countdown.js +17 -8
- package/es/date-picker/src/date-picker.js +148 -69
- package/es/drawer/src/drawer.js +86 -46
- package/es/form/render/index.js +1 -2
- package/es/form/src/form-config-item.js +4 -3
- package/es/form/src/form-gather.js +5 -3
- package/es/form/src/form-item.js +15 -10
- package/es/form/src/form.js +11 -8
- package/es/form/src/render.js +2 -1
- package/es/form/src/util.js +2 -1
- package/es/icon/src/icon.js +3 -0
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +24 -11
- package/es/image/src/group.js +4 -1
- package/es/image/src/preview.js +1 -1
- package/es/input/src/input.js +131 -66
- package/es/layout-aside/src/layout-aside.js +1 -1
- package/es/list/src/list.js +7 -5
- package/es/list-design/src/list-design.js +1 -1
- package/es/list-design/src/list-view.js +1 -1
- package/es/loading/src/loading.js +4 -1
- package/es/menu/src/menu.js +4 -3
- package/es/number-input/src/number-input.js +100 -77
- package/es/pager/src/pager.js +85 -45
- package/es/password-input/src/password-input.js +2 -2
- package/es/print/src/page-break.js +11 -2
- package/es/print/src/print.js +6 -4
- package/es/pulldown/src/pulldown.js +19 -13
- package/es/radio/src/button.js +2 -2
- package/es/radio/src/group.js +8 -4
- package/es/row/src/row.js +1 -1
- package/es/select/src/optgroup.js +19 -10
- package/es/select/src/option.js +17 -9
- package/es/select/src/select.js +64 -41
- package/es/select/src/util.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tab-pane.js +13 -3
- package/es/tabs/src/tabs.js +57 -47
- package/es/textarea/src/textarea.js +28 -10
- package/es/tooltip/src/tooltip.js +107 -78
- package/es/tree/src/tree.js +6 -3
- package/es/tree-select/src/tree-select.js +18 -10
- package/es/ui/index.js +1 -7
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +5 -5
- package/lib/anchor/src/anchor-link.js +1 -1
- package/lib/anchor/src/anchor-link.min.js +1 -1
- package/lib/anchor/src/anchor.js +1 -1
- package/lib/anchor/src/anchor.min.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
- package/lib/button/src/button-group.js +4 -1
- package/lib/button/src/button-group.min.js +1 -1
- package/lib/button/src/button.js +2 -1
- package/lib/button/src/button.min.js +1 -1
- package/lib/calendar/src/calendar.js +42 -24
- package/lib/calendar/src/calendar.min.js +1 -1
- package/lib/card/src/card.js +6 -5
- package/lib/card/src/card.min.js +1 -1
- package/lib/carousel/src/carousel-item.js +16 -3
- package/lib/carousel/src/carousel-item.min.js +1 -1
- package/lib/carousel/src/carousel.js +18 -8
- package/lib/carousel/src/carousel.min.js +1 -1
- package/lib/checkbox/src/checkbox.js +16 -12
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +10 -7
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/collapse-pane/index.js +1 -1
- package/lib/collapse-pane/index.min.js +1 -1
- package/lib/countdown/src/countdown.js +15 -7
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +124 -62
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/drawer/src/drawer.js +15 -30
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/form/render/index.js +1 -4
- package/lib/form/render/index.min.js +1 -1
- package/lib/form/src/form-config-item.js +4 -5
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-gather.js +11 -9
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +11 -12
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +7 -7
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +2 -1
- package/lib/form/src/util.js +2 -1
- package/lib/icon/src/icon.js +3 -0
- package/lib/icon/src/icon.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 +22 -12
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/image/src/group.js +4 -1
- package/lib/image/src/group.min.js +1 -1
- package/lib/image/src/preview.js +1 -1
- package/lib/image/src/preview.min.js +1 -1
- package/lib/index.umd.js +884 -649
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +79 -51
- package/lib/input/src/input.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/list/src/list.js +9 -5
- package/lib/list/src/list.min.js +1 -1
- package/lib/list-design/src/list-design.js +1 -1
- package/lib/list-design/src/list-design.min.js +1 -1
- package/lib/list-design/src/list-view.js +1 -1
- package/lib/list-design/src/list-view.min.js +1 -1
- package/lib/loading/src/loading.js +4 -1
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/menu/src/menu.js +4 -3
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/number-input/src/number-input.js +67 -69
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/pager/src/pager.js +40 -39
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/password-input/src/password-input.js +2 -2
- package/lib/print/src/page-break.js +14 -2
- package/lib/print/src/page-break.min.js +1 -1
- package/lib/print/src/print.js +8 -6
- package/lib/print/src/print.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +19 -13
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/radio/src/button.js +2 -2
- package/lib/radio/src/group.js +8 -4
- package/lib/radio/src/group.min.js +1 -1
- package/lib/row/src/row.js +1 -1
- package/lib/row/src/row.min.js +1 -1
- package/lib/select/src/optgroup.js +12 -9
- package/lib/select/src/optgroup.min.js +1 -1
- package/lib/select/src/option.js +9 -7
- package/lib/select/src/option.min.js +1 -1
- package/lib/select/src/select.js +52 -41
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/src/util.js +2 -2
- package/lib/select/src/util.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tab-pane.js +16 -3
- package/lib/tabs/src/tab-pane.min.js +1 -1
- package/lib/tabs/src/tabs.js +62 -50
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/textarea/src/textarea.js +4 -4
- package/lib/tooltip/src/tooltip.js +96 -88
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tree/src/tree.js +2 -2
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +13 -8
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +3 -10
- 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/upload/src/upload.js +5 -5
- package/lib/upload/src/upload.min.js +1 -1
- package/package.json +2 -2
- package/packages/anchor/src/anchor-link.ts +2 -2
- package/packages/anchor/src/anchor.ts +2 -2
- package/packages/breadcrumb/src/breadcrumb.ts +2 -2
- package/packages/button/src/button-group.ts +4 -1
- package/packages/button/src/button.ts +6 -5
- package/packages/calendar/src/calendar.ts +67 -35
- package/packages/card/src/card.ts +6 -4
- package/packages/carousel/src/carousel-item.ts +19 -4
- package/packages/carousel/src/carousel.ts +19 -11
- package/packages/checkbox/src/checkbox.ts +34 -15
- package/packages/checkbox/src/group.ts +22 -10
- package/packages/collapse-pane/index.ts +1 -1
- package/packages/countdown/src/countdown.ts +20 -11
- package/packages/date-picker/src/date-picker.ts +160 -80
- package/packages/drawer/src/drawer.ts +91 -50
- package/packages/form/render/index.ts +1 -3
- package/packages/form/src/form-config-item.ts +4 -3
- package/packages/form/src/form-gather.ts +5 -3
- package/packages/form/src/form-item.ts +15 -10
- package/packages/form/src/form.ts +12 -10
- package/packages/form/src/render.ts +2 -1
- package/packages/form/src/util.ts +2 -1
- package/packages/icon/src/icon.ts +3 -0
- package/packages/icon-picker/src/icon-picker.ts +31 -17
- package/packages/image/src/group.ts +4 -1
- package/packages/image/src/preview.ts +2 -2
- package/packages/input/src/input.ts +138 -75
- package/packages/layout-aside/src/layout-aside.ts +2 -2
- package/packages/list/src/list.ts +12 -11
- package/packages/list-design/src/list-design.ts +2 -2
- package/packages/list-design/src/list-view.ts +2 -2
- package/packages/loading/src/loading.ts +5 -2
- package/packages/menu/src/menu.ts +5 -4
- package/packages/number-input/src/number-input.ts +102 -79
- package/packages/pager/src/pager.ts +91 -50
- package/packages/password-input/src/password-input.ts +2 -2
- package/packages/print/src/page-break.ts +18 -4
- package/packages/print/src/print.ts +10 -5
- package/packages/pulldown/src/pulldown.ts +28 -22
- package/packages/radio/src/button.ts +2 -2
- package/packages/radio/src/group.ts +9 -5
- package/packages/row/src/row.ts +2 -2
- package/packages/select/src/optgroup.ts +22 -13
- package/packages/select/src/option.ts +18 -10
- package/packages/select/src/select.ts +79 -52
- package/packages/select/src/util.ts +3 -3
- package/packages/tabs/src/tab-pane.ts +20 -5
- package/packages/tabs/src/tabs.ts +59 -49
- package/packages/textarea/src/textarea.ts +28 -10
- package/packages/tooltip/src/tooltip.ts +118 -84
- package/packages/tree/src/tree.ts +7 -4
- package/packages/tree-select/src/tree-select.ts +25 -16
- package/packages/ui/index.ts +0 -7
- package/packages/upload/src/upload.ts +6 -6
- package/types/components/calendar.d.ts +6 -0
- package/types/components/carousel.d.ts +5 -0
- package/types/components/countdown.d.ts +4 -0
- package/types/components/date-picker.d.ts +23 -5
- package/types/components/drawer.d.ts +0 -1
- package/types/components/form.d.ts +4 -2
- package/types/components/icon-picker.d.ts +4 -0
- package/types/components/input.d.ts +9 -1
- package/types/components/list.d.ts +1 -0
- package/types/components/number-input.d.ts +6 -2
- package/types/components/optgroup.d.ts +10 -4
- package/types/components/pulldown.d.ts +5 -1
- package/types/components/select.d.ts +4 -0
- package/types/components/tabs.d.ts +4 -0
- package/types/components/toolbar.d.ts +5 -0
- package/types/components/tooltip.d.ts +4 -0
- package/types/components/tree-select.d.ts +4 -0
- package/types/ui/index.d.ts +0 -22
- /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/es/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/es/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
- /package/lib/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
package/es/select/src/select.js
CHANGED
|
@@ -27,7 +27,10 @@ export default defineComponent({
|
|
|
27
27
|
default: null
|
|
28
28
|
},
|
|
29
29
|
multiple: Boolean,
|
|
30
|
-
multiCharOverflow: {
|
|
30
|
+
multiCharOverflow: {
|
|
31
|
+
type: [Number, String],
|
|
32
|
+
default: () => getConfig().select.multiCharOverflow
|
|
33
|
+
},
|
|
31
34
|
prefixIcon: String,
|
|
32
35
|
placement: String,
|
|
33
36
|
options: Array,
|
|
@@ -37,21 +40,30 @@ export default defineComponent({
|
|
|
37
40
|
optionConfig: Object,
|
|
38
41
|
className: [String, Function],
|
|
39
42
|
popupClassName: [String, Function],
|
|
40
|
-
max: {
|
|
41
|
-
|
|
43
|
+
max: {
|
|
44
|
+
type: [String, Number],
|
|
45
|
+
default: null
|
|
46
|
+
},
|
|
47
|
+
size: {
|
|
48
|
+
type: String,
|
|
49
|
+
default: () => getConfig().select.size || getConfig().size
|
|
50
|
+
},
|
|
42
51
|
filterable: Boolean,
|
|
43
52
|
filterMethod: Function,
|
|
44
53
|
remote: Boolean,
|
|
45
54
|
remoteMethod: Function,
|
|
46
55
|
emptyText: String,
|
|
47
|
-
// 已废弃,被 option-config.keyField 替换
|
|
48
|
-
optionId: { type: String, default: () => getConfig().select.optionId },
|
|
49
|
-
// 已废弃,被 option-config.useKey 替换
|
|
50
|
-
optionKey: Boolean,
|
|
51
56
|
transfer: {
|
|
52
57
|
type: Boolean,
|
|
53
58
|
default: null
|
|
54
|
-
}
|
|
59
|
+
},
|
|
60
|
+
// 已废弃,被 option-config.keyField 替换
|
|
61
|
+
optionId: {
|
|
62
|
+
type: String,
|
|
63
|
+
default: () => getConfig().select.optionId
|
|
64
|
+
},
|
|
65
|
+
// 已废弃,被 option-config.useKey 替换
|
|
66
|
+
optionKey: Boolean
|
|
55
67
|
},
|
|
56
68
|
emits: [
|
|
57
69
|
'update:modelValue',
|
|
@@ -64,6 +76,7 @@ export default defineComponent({
|
|
|
64
76
|
setup(props, context) {
|
|
65
77
|
const { slots, emit } = context;
|
|
66
78
|
const $xeModal = inject('$xeModal', null);
|
|
79
|
+
const $xeDrawer = inject('$xeDrawer', null);
|
|
67
80
|
const $xeTable = inject('$xeTable', null);
|
|
68
81
|
const $xeForm = inject('$xeForm', null);
|
|
69
82
|
const formItemInfo = inject('xeFormItemInfo', null);
|
|
@@ -89,6 +102,9 @@ export default defineComponent({
|
|
|
89
102
|
searchValue: '',
|
|
90
103
|
searchLoading: false
|
|
91
104
|
});
|
|
105
|
+
const internalData = {
|
|
106
|
+
hpTimeout: undefined
|
|
107
|
+
};
|
|
92
108
|
const refElem = ref();
|
|
93
109
|
const refInput = ref();
|
|
94
110
|
const refInpSearch = ref();
|
|
@@ -102,6 +118,7 @@ export default defineComponent({
|
|
|
102
118
|
props,
|
|
103
119
|
context,
|
|
104
120
|
reactData,
|
|
121
|
+
internalData,
|
|
105
122
|
getRefMaps: () => refMaps
|
|
106
123
|
};
|
|
107
124
|
let selectMethods = {};
|
|
@@ -132,7 +149,7 @@ export default defineComponent({
|
|
|
132
149
|
if (XEUtils.isBoolean(globalTransfer)) {
|
|
133
150
|
return globalTransfer;
|
|
134
151
|
}
|
|
135
|
-
if ($xeTable || $xeModal || $xeForm) {
|
|
152
|
+
if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
|
|
136
153
|
return true;
|
|
137
154
|
}
|
|
138
155
|
}
|
|
@@ -150,10 +167,10 @@ export default defineComponent({
|
|
|
150
167
|
return getI18n('vxe.base.pleaseSelect');
|
|
151
168
|
});
|
|
152
169
|
const computePropsOpts = computed(() => {
|
|
153
|
-
return props.optionProps
|
|
170
|
+
return Object.assign({}, props.optionProps);
|
|
154
171
|
});
|
|
155
172
|
const computeGroupPropsOpts = computed(() => {
|
|
156
|
-
return props.optionGroupProps
|
|
173
|
+
return Object.assign({}, props.optionGroupProps);
|
|
157
174
|
});
|
|
158
175
|
const computeLabelField = computed(() => {
|
|
159
176
|
const propsOpts = computePropsOpts.value;
|
|
@@ -187,6 +204,27 @@ export default defineComponent({
|
|
|
187
204
|
const computeMultiMaxCharNum = computed(() => {
|
|
188
205
|
return XEUtils.toNumber(props.multiCharOverflow);
|
|
189
206
|
});
|
|
207
|
+
const computeSelectLabel = computed(() => {
|
|
208
|
+
const { modelValue, multiple, remote } = props;
|
|
209
|
+
const multiMaxCharNum = computeMultiMaxCharNum.value;
|
|
210
|
+
if (modelValue && multiple) {
|
|
211
|
+
const vals = XEUtils.isArray(modelValue) ? modelValue : [modelValue];
|
|
212
|
+
if (remote) {
|
|
213
|
+
return vals.map(val => getRemoteSelectLabel(val)).join(', ');
|
|
214
|
+
}
|
|
215
|
+
return vals.map((val) => {
|
|
216
|
+
const label = getSelectLabel(val);
|
|
217
|
+
if (multiMaxCharNum > 0 && label.length > multiMaxCharNum) {
|
|
218
|
+
return `${label.substring(0, multiMaxCharNum)}...`;
|
|
219
|
+
}
|
|
220
|
+
return label;
|
|
221
|
+
}).join(', ');
|
|
222
|
+
}
|
|
223
|
+
if (remote) {
|
|
224
|
+
return getRemoteSelectLabel(modelValue);
|
|
225
|
+
}
|
|
226
|
+
return getSelectLabel(modelValue);
|
|
227
|
+
});
|
|
190
228
|
const callSlot = (slotFunc, params) => {
|
|
191
229
|
if (slotFunc) {
|
|
192
230
|
if (XEUtils.isString(slotFunc)) {
|
|
@@ -248,27 +286,6 @@ export default defineComponent({
|
|
|
248
286
|
const item = findOption(value);
|
|
249
287
|
return XEUtils.toValueString(item ? item[labelField] : value);
|
|
250
288
|
};
|
|
251
|
-
const computeSelectLabel = computed(() => {
|
|
252
|
-
const { modelValue, multiple, remote } = props;
|
|
253
|
-
const multiMaxCharNum = computeMultiMaxCharNum.value;
|
|
254
|
-
if (modelValue && multiple) {
|
|
255
|
-
const vals = XEUtils.isArray(modelValue) ? modelValue : [modelValue];
|
|
256
|
-
if (remote) {
|
|
257
|
-
return vals.map(val => getRemoteSelectLabel(val)).join(', ');
|
|
258
|
-
}
|
|
259
|
-
return vals.map((val) => {
|
|
260
|
-
const label = getSelectLabel(val);
|
|
261
|
-
if (multiMaxCharNum > 0 && label.length > multiMaxCharNum) {
|
|
262
|
-
return `${label.substring(0, multiMaxCharNum)}...`;
|
|
263
|
-
}
|
|
264
|
-
return label;
|
|
265
|
-
}).join(', ');
|
|
266
|
-
}
|
|
267
|
-
if (remote) {
|
|
268
|
-
return getRemoteSelectLabel(modelValue);
|
|
269
|
-
}
|
|
270
|
-
return getSelectLabel(modelValue);
|
|
271
|
-
});
|
|
272
289
|
const getOptkey = () => {
|
|
273
290
|
const optionOpts = computeOptionOpts.value;
|
|
274
291
|
return optionOpts.keyField || props.optionId || '_X_OPTION_KEY';
|
|
@@ -441,12 +458,15 @@ export default defineComponent({
|
|
|
441
458
|
}
|
|
442
459
|
});
|
|
443
460
|
};
|
|
444
|
-
let hidePanelTimeout;
|
|
445
461
|
const showOptionPanel = () => {
|
|
446
462
|
const { loading, filterable } = props;
|
|
463
|
+
const { hpTimeout } = internalData;
|
|
447
464
|
const isDisabled = computeIsDisabled.value;
|
|
448
465
|
if (!loading && !isDisabled) {
|
|
449
|
-
|
|
466
|
+
if (hpTimeout) {
|
|
467
|
+
clearTimeout(hpTimeout);
|
|
468
|
+
internalData.hpTimeout = undefined;
|
|
469
|
+
}
|
|
450
470
|
if (!reactData.initialized) {
|
|
451
471
|
reactData.initialized = true;
|
|
452
472
|
}
|
|
@@ -473,13 +493,13 @@ export default defineComponent({
|
|
|
473
493
|
reactData.searchValue = '';
|
|
474
494
|
reactData.searchLoading = false;
|
|
475
495
|
reactData.visiblePanel = false;
|
|
476
|
-
|
|
496
|
+
internalData.hpTimeout = window.setTimeout(() => {
|
|
477
497
|
reactData.isAniVisible = false;
|
|
478
498
|
}, 350);
|
|
479
499
|
};
|
|
480
500
|
const changeEvent = (evnt, selectValue) => {
|
|
501
|
+
emit('update:modelValue', selectValue);
|
|
481
502
|
if (selectValue !== props.modelValue) {
|
|
482
|
-
emit('update:modelValue', selectValue);
|
|
483
503
|
selectMethods.dispatchEvent('change', { value: selectValue }, evnt);
|
|
484
504
|
// 自动更新校验状态
|
|
485
505
|
if ($xeForm && formItemInfo) {
|
|
@@ -714,12 +734,14 @@ export default defineComponent({
|
|
|
714
734
|
const focusSearchEvent = () => {
|
|
715
735
|
reactData.isActivated = true;
|
|
716
736
|
};
|
|
717
|
-
const
|
|
737
|
+
const handleSearchEvent = () => {
|
|
718
738
|
const { remote, remoteMethod } = props;
|
|
719
739
|
const { searchValue } = reactData;
|
|
720
740
|
if (remote && remoteMethod) {
|
|
721
741
|
reactData.searchLoading = true;
|
|
722
|
-
Promise.resolve(remoteMethod({ searchValue })).then(() => nextTick())
|
|
742
|
+
Promise.resolve(remoteMethod({ searchValue })).then(() => nextTick())
|
|
743
|
+
.catch(() => nextTick())
|
|
744
|
+
.finally(() => {
|
|
723
745
|
reactData.searchLoading = false;
|
|
724
746
|
refreshOption();
|
|
725
747
|
});
|
|
@@ -727,7 +749,8 @@ export default defineComponent({
|
|
|
727
749
|
else {
|
|
728
750
|
refreshOption();
|
|
729
751
|
}
|
|
730
|
-
}
|
|
752
|
+
};
|
|
753
|
+
const triggerSearchEvent = XEUtils.debounce(handleSearchEvent, 350, { trailing: true });
|
|
731
754
|
const togglePanelEvent = (params) => {
|
|
732
755
|
const { $event } = params;
|
|
733
756
|
$event.preventDefault();
|
|
@@ -936,7 +959,7 @@ export default defineComponent({
|
|
|
936
959
|
}, defaultSlot ? defaultSlot({}) : []),
|
|
937
960
|
h('span', {
|
|
938
961
|
class: 'vxe-select-label'
|
|
939
|
-
}, selectLabel)
|
|
962
|
+
}, [selectLabel])
|
|
940
963
|
]);
|
|
941
964
|
}
|
|
942
965
|
return h('div', {
|
|
@@ -1035,7 +1058,6 @@ export default defineComponent({
|
|
|
1035
1058
|
])
|
|
1036
1059
|
]);
|
|
1037
1060
|
};
|
|
1038
|
-
$xeSelect.renderVN = renderVN;
|
|
1039
1061
|
watch(() => reactData.staticOptions, (value) => {
|
|
1040
1062
|
if (value.some((item) => item.options && item.options.length)) {
|
|
1041
1063
|
reactData.fullOptionList = [];
|
|
@@ -1080,6 +1102,7 @@ export default defineComponent({
|
|
|
1080
1102
|
globalEvents.off($xeSelect, 'blur');
|
|
1081
1103
|
});
|
|
1082
1104
|
provide('$xeSelect', $xeSelect);
|
|
1105
|
+
$xeSelect.renderVN = renderVN;
|
|
1083
1106
|
return $xeSelect;
|
|
1084
1107
|
},
|
|
1085
1108
|
render() {
|
package/es/select/src/util.js
CHANGED
|
@@ -14,11 +14,11 @@ export function watchOption(props, option) {
|
|
|
14
14
|
});
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
export function assembleOption($xeSelect, el, option,
|
|
17
|
+
export function assembleOption($xeSelect, el, option, $xeOptgroup) {
|
|
18
18
|
const { reactData } = $xeSelect;
|
|
19
19
|
const { staticOptions } = reactData;
|
|
20
20
|
const parentElem = el.parentNode;
|
|
21
|
-
const parentOption =
|
|
21
|
+
const parentOption = $xeOptgroup ? $xeOptgroup.optionConfig : null;
|
|
22
22
|
const parentCols = parentOption ? parentOption.options : staticOptions;
|
|
23
23
|
if (parentElem && parentCols) {
|
|
24
24
|
parentCols.splice(XEUtils.arrayIndexOf(parentElem.children, el), 0, option);
|