fast-element-plus 1.0.0-alpha.9 → 1.0.1
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/dist/index.full.js +3180 -4581
- package/dist/index.full.js.map +1 -1
- package/dist/index.full.min.js +5 -5
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +5 -5
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +3180 -4581
- package/dist/index.full.mjs.map +1 -1
- package/dist/styles/index.css +2 -2
- package/es/components/avatar/index.d.ts +1 -1
- package/es/components/avatar/index.mjs.map +1 -1
- package/es/components/avatar/src/avatar.d.ts +18 -102
- package/es/components/avatar/src/avatar.mjs +1 -2
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/button/index.d.ts +1 -1
- package/es/components/button/index.mjs.map +1 -1
- package/es/components/button/src/button.d.ts +35 -180
- package/es/components/button/src/button.mjs +14 -4
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/carNumber/src/carNumber.d.ts +58 -194
- package/es/components/contextMenu/src/contextMenu.mjs +1 -1
- package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
- package/es/components/dialog/src/dialog.d.ts +45 -297
- package/es/components/drawer/src/drawer.d.ts +72 -450
- package/es/components/form/src/form.d.ts +28 -133
- package/es/components/form/src/formItem.d.ts +32 -137
- package/es/components/iconSelector/src/iconSelector.mjs +2 -2
- package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
- package/es/components/image/src/image.d.ts +43 -253
- package/es/components/select/src/select.d.ts +25 -81
- package/es/components/select/src/select.mjs +1 -0
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/selectPage/src/selectPage.d.ts +19 -61
- package/es/components/selectV2/src/selectV2.d.ts +25 -81
- package/es/components/selectV2/src/selectV2.mjs +1 -0
- package/es/components/selectV2/src/selectV2.mjs.map +1 -1
- package/es/components/table/src/table.d.ts +5 -12
- package/es/components/table/src/table.mjs +4 -6
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.state.d.ts +1 -1
- package/es/components/table/src/table.type.d.ts +4 -1
- package/es/components/table/src/table.type.mjs.map +1 -1
- package/es/components/table/src/tableColumn.d.ts +1 -1
- package/es/components/table/src/tableColumn.mjs +7 -7
- package/es/components/table/src/tableColumn.mjs.map +1 -1
- package/es/components/table/src/tableSearchForm.d.ts +6 -4
- package/es/components/table/src/tableSearchForm.mjs +2 -2
- package/es/components/table/src/tableSearchForm.mjs.map +1 -1
- package/es/components/table/src/useTable.mjs +3 -3
- package/es/components/table/src/useTable.mjs.map +1 -1
- package/es/components/tree/src/tree.d.ts +23 -653
- package/es/components/tree/src/tree.mjs +1 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/tree/src/tree.type.d.ts +1 -1
- package/es/components/treeSelect/src/treeSelect.d.ts +20 -62
- package/es/components/treeSelect/src/treeSelect.mjs +1 -0
- package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +298 -460
- package/es/components/upload/src/useUpload.mjs +2 -2
- package/es/components/upload/src/useUpload.mjs.map +1 -1
- package/es/components/uploadImage/src/uploadImage.d.ts +295 -394
- package/es/components/uploadImage/src/uploadImage.mjs +1 -1
- package/es/components/uploadImage/src/uploadImage.mjs.map +1 -1
- package/es/components/uploadImages/src/uploadImages.d.ts +300 -420
- package/es/components/uploadImages/src/uploadImages.mjs +4 -4
- package/es/components/uploadImages/src/uploadImages.mjs.map +1 -1
- package/es/constants/regex.mjs +13 -13
- package/es/constants/regex.mjs.map +1 -1
- package/es/directive.d.ts +1 -1
- package/es/directives/click-copy/index.d.ts +1 -1
- package/es/directives/click-debounce/index.d.ts +1 -1
- package/es/directives/click-draggable/index.d.ts +1 -1
- package/es/directives/click-icon-copy/index.d.ts +1 -1
- package/es/directives/click-longpress/index.d.ts +1 -1
- package/es/directives/click-throttle/index.d.ts +1 -1
- package/es/element-plus.mjs +1 -1
- package/es/element-plus.mjs.map +1 -1
- package/es/make-installer.mjs +4 -0
- package/es/make-installer.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/avatar/index.d.ts +1 -1
- package/lib/components/avatar/index.js.map +1 -1
- package/lib/components/avatar/src/avatar.d.ts +18 -102
- package/lib/components/avatar/src/avatar.js +1 -1
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/button/index.d.ts +1 -1
- package/lib/components/button/index.js.map +1 -1
- package/lib/components/button/src/button.d.ts +35 -180
- package/lib/components/button/src/button.js +1 -1
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/carNumber/src/carNumber.d.ts +58 -194
- package/lib/components/contextMenu/src/contextMenu.js +1 -1
- package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
- package/lib/components/dialog/src/dialog.d.ts +45 -297
- package/lib/components/drawer/src/drawer.d.ts +72 -450
- package/lib/components/form/src/form.d.ts +28 -133
- package/lib/components/form/src/formItem.d.ts +32 -137
- package/lib/components/image/src/image.d.ts +43 -253
- package/lib/components/select/src/select.d.ts +25 -81
- package/lib/components/select/src/select.js +1 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/selectPage/src/selectPage.d.ts +19 -61
- package/lib/components/selectV2/src/selectV2.d.ts +25 -81
- package/lib/components/selectV2/src/selectV2.js +1 -1
- package/lib/components/selectV2/src/selectV2.js.map +1 -1
- package/lib/components/table/src/table.d.ts +5 -12
- package/lib/components/table/src/table.js +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.state.d.ts +1 -1
- package/lib/components/table/src/table.type.d.ts +4 -1
- package/lib/components/table/src/table.type.js.map +1 -1
- package/lib/components/table/src/tableColumn.d.ts +1 -1
- package/lib/components/table/src/tableColumn.js +1 -1
- package/lib/components/table/src/tableColumn.js.map +1 -1
- package/lib/components/table/src/tableSearchForm.d.ts +6 -4
- package/lib/components/table/src/tableSearchForm.js +1 -1
- package/lib/components/table/src/tableSearchForm.js.map +1 -1
- package/lib/components/table/src/useTable.js +1 -1
- package/lib/components/table/src/useTable.js.map +1 -1
- package/lib/components/tree/src/tree.d.ts +23 -653
- package/lib/components/tree/src/tree.js +1 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/tree/src/tree.type.d.ts +1 -1
- package/lib/components/treeSelect/src/treeSelect.d.ts +20 -62
- package/lib/components/treeSelect/src/treeSelect.js +1 -1
- package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +298 -460
- package/lib/components/upload/src/useUpload.js +1 -1
- package/lib/components/upload/src/useUpload.js.map +1 -1
- package/lib/components/uploadImage/src/uploadImage.d.ts +295 -394
- package/lib/components/uploadImage/src/uploadImage.js +1 -1
- package/lib/components/uploadImage/src/uploadImage.js.map +1 -1
- package/lib/components/uploadImages/src/uploadImages.d.ts +300 -420
- package/lib/components/uploadImages/src/uploadImages.js +1 -1
- package/lib/components/uploadImages/src/uploadImages.js.map +1 -1
- package/lib/constants/regex.js +1 -1
- package/lib/constants/regex.js.map +1 -1
- package/lib/directive.d.ts +1 -1
- package/lib/directives/click-copy/index.d.ts +1 -1
- package/lib/directives/click-debounce/index.d.ts +1 -1
- package/lib/directives/click-draggable/index.d.ts +1 -1
- package/lib/directives/click-icon-copy/index.d.ts +1 -1
- package/lib/directives/click-longpress/index.d.ts +1 -1
- package/lib/directives/click-throttle/index.d.ts +1 -1
- package/lib/element-plus.js +1 -1
- package/lib/element-plus.js.map +1 -1
- package/lib/make-installer.js +1 -1
- package/lib/make-installer.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +8 -8
- package/styles/components/contextMenu.scss +2 -2
|
@@ -11,14 +11,7 @@ type Props = {
|
|
|
11
11
|
export declare const SelectV2Props: {
|
|
12
12
|
ariaLabel: StringConstructor;
|
|
13
13
|
emptyValues: ArrayConstructor;
|
|
14
|
-
valueOnClear:
|
|
15
|
-
readonly type: import('vue').PropType<string | number | boolean | Function>;
|
|
16
|
-
readonly required: false;
|
|
17
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
18
|
-
__epPropKey: true;
|
|
19
|
-
} & {
|
|
20
|
-
readonly default: undefined;
|
|
21
|
-
};
|
|
14
|
+
valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
|
|
22
15
|
/**
|
|
23
16
|
* @description whether creating new items is allowed. To use this, `filterable` must be true
|
|
24
17
|
*/
|
|
@@ -173,14 +166,7 @@ export declare const SelectV2Props: {
|
|
|
173
166
|
/**
|
|
174
167
|
* @description whether select dropdown is teleported to the body
|
|
175
168
|
*/
|
|
176
|
-
teleported:
|
|
177
|
-
readonly type: import('vue').PropType<boolean>;
|
|
178
|
-
readonly required: false;
|
|
179
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
180
|
-
__epPropKey: true;
|
|
181
|
-
} & {
|
|
182
|
-
readonly default: true;
|
|
183
|
-
};
|
|
169
|
+
teleported: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
184
170
|
/**
|
|
185
171
|
* @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed
|
|
186
172
|
*/
|
|
@@ -210,7 +196,7 @@ export declare const SelectV2Props: {
|
|
|
210
196
|
* @description size of component
|
|
211
197
|
*/
|
|
212
198
|
size: {
|
|
213
|
-
readonly type: import('vue').PropType<"" | "small" | "default" | "large"
|
|
199
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
|
|
214
200
|
readonly required: false;
|
|
215
201
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
216
202
|
__epPropKey: true;
|
|
@@ -273,7 +259,7 @@ export declare const SelectV2Props: {
|
|
|
273
259
|
*/
|
|
274
260
|
tagType: {
|
|
275
261
|
default: string;
|
|
276
|
-
type: import('vue').PropType<"primary" | "success" | "warning" | "info" | "danger"
|
|
262
|
+
type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
|
|
277
263
|
required: false;
|
|
278
264
|
validator: ((val: unknown) => boolean) | undefined;
|
|
279
265
|
__epPropKey: true;
|
|
@@ -283,7 +269,7 @@ export declare const SelectV2Props: {
|
|
|
283
269
|
*/
|
|
284
270
|
tagEffect: {
|
|
285
271
|
default: string;
|
|
286
|
-
type: import('vue').PropType<"plain" | "dark" | "light"
|
|
272
|
+
type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
|
|
287
273
|
required: false;
|
|
288
274
|
validator: ((val: unknown) => boolean) | undefined;
|
|
289
275
|
__epPropKey: true;
|
|
@@ -380,14 +366,7 @@ export declare const faSelectV2Props: {
|
|
|
380
366
|
initParam: import('vue').PropType<any>;
|
|
381
367
|
ariaLabel: StringConstructor;
|
|
382
368
|
emptyValues: ArrayConstructor;
|
|
383
|
-
valueOnClear:
|
|
384
|
-
readonly type: import('vue').PropType<string | number | boolean | Function>;
|
|
385
|
-
readonly required: false;
|
|
386
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
387
|
-
__epPropKey: true;
|
|
388
|
-
} & {
|
|
389
|
-
readonly default: undefined;
|
|
390
|
-
};
|
|
369
|
+
valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
|
|
391
370
|
/**
|
|
392
371
|
* @description whether creating new items is allowed. To use this, `filterable` must be true
|
|
393
372
|
*/
|
|
@@ -516,14 +495,7 @@ export declare const faSelectV2Props: {
|
|
|
516
495
|
/**
|
|
517
496
|
* @description whether select dropdown is teleported to the body
|
|
518
497
|
*/
|
|
519
|
-
teleported:
|
|
520
|
-
readonly type: import('vue').PropType<boolean>;
|
|
521
|
-
readonly required: false;
|
|
522
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
523
|
-
__epPropKey: true;
|
|
524
|
-
} & {
|
|
525
|
-
readonly default: true;
|
|
526
|
-
};
|
|
498
|
+
teleported: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
527
499
|
/**
|
|
528
500
|
* @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed
|
|
529
501
|
*/
|
|
@@ -553,7 +525,7 @@ export declare const faSelectV2Props: {
|
|
|
553
525
|
* @description size of component
|
|
554
526
|
*/
|
|
555
527
|
size: {
|
|
556
|
-
readonly type: import('vue').PropType<"" | "small" | "default" | "large"
|
|
528
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
|
|
557
529
|
readonly required: false;
|
|
558
530
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
559
531
|
__epPropKey: true;
|
|
@@ -616,7 +588,7 @@ export declare const faSelectV2Props: {
|
|
|
616
588
|
*/
|
|
617
589
|
tagType: {
|
|
618
590
|
default: string;
|
|
619
|
-
type: import('vue').PropType<"primary" | "success" | "warning" | "info" | "danger"
|
|
591
|
+
type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
|
|
620
592
|
required: false;
|
|
621
593
|
validator: ((val: unknown) => boolean) | undefined;
|
|
622
594
|
__epPropKey: true;
|
|
@@ -626,7 +598,7 @@ export declare const faSelectV2Props: {
|
|
|
626
598
|
*/
|
|
627
599
|
tagEffect: {
|
|
628
600
|
default: string;
|
|
629
|
-
type: import('vue').PropType<"plain" | "dark" | "light"
|
|
601
|
+
type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
|
|
630
602
|
required: false;
|
|
631
603
|
validator: ((val: unknown) => boolean) | undefined;
|
|
632
604
|
__epPropKey: true;
|
|
@@ -758,14 +730,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
758
730
|
initParam: import('vue').PropType<any>;
|
|
759
731
|
ariaLabel: StringConstructor;
|
|
760
732
|
emptyValues: ArrayConstructor;
|
|
761
|
-
valueOnClear:
|
|
762
|
-
readonly type: import('vue').PropType<string | number | boolean | Function>;
|
|
763
|
-
readonly required: false;
|
|
764
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
765
|
-
__epPropKey: true;
|
|
766
|
-
} & {
|
|
767
|
-
readonly default: undefined;
|
|
768
|
-
};
|
|
733
|
+
valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
|
|
769
734
|
/**
|
|
770
735
|
* @description whether creating new items is allowed. To use this, `filterable` must be true
|
|
771
736
|
*/
|
|
@@ -894,14 +859,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
894
859
|
/**
|
|
895
860
|
* @description whether select dropdown is teleported to the body
|
|
896
861
|
*/
|
|
897
|
-
teleported:
|
|
898
|
-
readonly type: import('vue').PropType<boolean>;
|
|
899
|
-
readonly required: false;
|
|
900
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
901
|
-
__epPropKey: true;
|
|
902
|
-
} & {
|
|
903
|
-
readonly default: true;
|
|
904
|
-
};
|
|
862
|
+
teleported: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
905
863
|
/**
|
|
906
864
|
* @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed
|
|
907
865
|
*/
|
|
@@ -931,7 +889,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
931
889
|
* @description size of component
|
|
932
890
|
*/
|
|
933
891
|
size: {
|
|
934
|
-
readonly type: import('vue').PropType<"" | "small" | "default" | "large"
|
|
892
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
|
|
935
893
|
readonly required: false;
|
|
936
894
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
937
895
|
__epPropKey: true;
|
|
@@ -994,7 +952,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
994
952
|
*/
|
|
995
953
|
tagType: {
|
|
996
954
|
default: string;
|
|
997
|
-
type: import('vue').PropType<"primary" | "success" | "warning" | "info" | "danger"
|
|
955
|
+
type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
|
|
998
956
|
required: false;
|
|
999
957
|
validator: ((val: unknown) => boolean) | undefined;
|
|
1000
958
|
__epPropKey: true;
|
|
@@ -1004,7 +962,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1004
962
|
*/
|
|
1005
963
|
tagEffect: {
|
|
1006
964
|
default: string;
|
|
1007
|
-
type: import('vue').PropType<"plain" | "dark" | "light"
|
|
965
|
+
type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
|
|
1008
966
|
required: false;
|
|
1009
967
|
validator: ((val: unknown) => boolean) | undefined;
|
|
1010
968
|
__epPropKey: true;
|
|
@@ -1124,14 +1082,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1124
1082
|
initParam: import('vue').PropType<any>;
|
|
1125
1083
|
ariaLabel: StringConstructor;
|
|
1126
1084
|
emptyValues: ArrayConstructor;
|
|
1127
|
-
valueOnClear:
|
|
1128
|
-
readonly type: import('vue').PropType<string | number | boolean | Function>;
|
|
1129
|
-
readonly required: false;
|
|
1130
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
1131
|
-
__epPropKey: true;
|
|
1132
|
-
} & {
|
|
1133
|
-
readonly default: undefined;
|
|
1134
|
-
};
|
|
1085
|
+
valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
|
|
1135
1086
|
/**
|
|
1136
1087
|
* @description whether creating new items is allowed. To use this, `filterable` must be true
|
|
1137
1088
|
*/
|
|
@@ -1260,14 +1211,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1260
1211
|
/**
|
|
1261
1212
|
* @description whether select dropdown is teleported to the body
|
|
1262
1213
|
*/
|
|
1263
|
-
teleported:
|
|
1264
|
-
readonly type: import('vue').PropType<boolean>;
|
|
1265
|
-
readonly required: false;
|
|
1266
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
1267
|
-
__epPropKey: true;
|
|
1268
|
-
} & {
|
|
1269
|
-
readonly default: true;
|
|
1270
|
-
};
|
|
1214
|
+
teleported: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
1271
1215
|
/**
|
|
1272
1216
|
* @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed
|
|
1273
1217
|
*/
|
|
@@ -1297,7 +1241,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1297
1241
|
* @description size of component
|
|
1298
1242
|
*/
|
|
1299
1243
|
size: {
|
|
1300
|
-
readonly type: import('vue').PropType<"" | "small" | "default" | "large"
|
|
1244
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
|
|
1301
1245
|
readonly required: false;
|
|
1302
1246
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
1303
1247
|
__epPropKey: true;
|
|
@@ -1360,7 +1304,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1360
1304
|
*/
|
|
1361
1305
|
tagType: {
|
|
1362
1306
|
default: string;
|
|
1363
|
-
type: import('vue').PropType<"primary" | "success" | "warning" | "info" | "danger"
|
|
1307
|
+
type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
|
|
1364
1308
|
required: false;
|
|
1365
1309
|
validator: ((val: unknown) => boolean) | undefined;
|
|
1366
1310
|
__epPropKey: true;
|
|
@@ -1370,7 +1314,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1370
1314
|
*/
|
|
1371
1315
|
tagEffect: {
|
|
1372
1316
|
default: string;
|
|
1373
|
-
type: import('vue').PropType<"plain" | "dark" | "light"
|
|
1317
|
+
type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
|
|
1374
1318
|
required: false;
|
|
1375
1319
|
validator: ((val: unknown) => boolean) | undefined;
|
|
1376
1320
|
__epPropKey: true;
|
|
@@ -1419,6 +1363,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1419
1363
|
placement: Placement;
|
|
1420
1364
|
loading: boolean;
|
|
1421
1365
|
disabled: boolean;
|
|
1366
|
+
lazy: boolean;
|
|
1422
1367
|
modelValue: string | number | boolean | object | (string | number | boolean | object)[];
|
|
1423
1368
|
autocomplete: "none" | "both" | "inline" | "list";
|
|
1424
1369
|
clearable: boolean;
|
|
@@ -1428,13 +1373,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1428
1373
|
popperOptions: Options;
|
|
1429
1374
|
popperClass: string;
|
|
1430
1375
|
effect: string | (string & {});
|
|
1431
|
-
teleported:
|
|
1376
|
+
teleported: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
1432
1377
|
width: string | number;
|
|
1433
1378
|
showArrow: boolean;
|
|
1434
1379
|
persistent: boolean;
|
|
1435
1380
|
height: number;
|
|
1436
1381
|
fallbackPlacements: Placement[];
|
|
1437
|
-
lazy: boolean;
|
|
1438
1382
|
moreDetail: boolean;
|
|
1439
1383
|
loadingText: string;
|
|
1440
1384
|
noMatchText: string;
|
|
@@ -1442,7 +1386,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1442
1386
|
collapseTags: boolean;
|
|
1443
1387
|
collapseTagsTooltip: boolean;
|
|
1444
1388
|
defaultSelected: boolean;
|
|
1445
|
-
valueOnClear: string | number | boolean | Function
|
|
1389
|
+
valueOnClear: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
1446
1390
|
automaticDropdown: boolean;
|
|
1447
1391
|
filterable: boolean;
|
|
1448
1392
|
allowCreate: boolean;
|
|
@@ -1453,8 +1397,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1453
1397
|
reserveKeyword: boolean;
|
|
1454
1398
|
valueKey: string;
|
|
1455
1399
|
maxCollapseTags: number;
|
|
1456
|
-
tagType: "primary" | "success" | "warning" | "info" | "danger"
|
|
1457
|
-
tagEffect: "plain" | "dark" | "light"
|
|
1400
|
+
tagType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>;
|
|
1401
|
+
tagEffect: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>;
|
|
1458
1402
|
pageResult: boolean;
|
|
1459
1403
|
estimatedOptionHeight: number;
|
|
1460
1404
|
itemHeight: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectV2.mjs","sources":["../../../../../packages/components/selectV2/src/selectV2.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelectV2, tagProps, useAriaProps, useEmptyValuesProps, useGlobalSize, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { CircleClose } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"@fast-element-plus/components/select/src/select.type\";\nimport type { PagedInput, PagedResult } from \"@fast-element-plus/components/table\";\nimport type { Options, Placement, PopperEffect } from \"element-plus\";\nimport type { Component, VNode } from \"vue\";\n\ntype Props = {\n\tlabel?: string;\n\tvalue?: string;\n\tdisabled?: string;\n\toptions?: string;\n};\n\nexport const SelectV2Props = {\n\t/**\n\t * @description whether creating new items is allowed. To use this, `filterable` must be true\n\t */\n\tallowCreate: Boolean,\n\t/**\n\t * @description autocomplete of select input\n\t */\n\tautocomplete: {\n\t\ttype: definePropType<\"none\" | \"both\" | \"list\" | \"inline\">(String),\n\t\tdefault: \"none\",\n\t},\n\t/**\n\t * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n\t */\n\tautomaticDropdown: Boolean,\n\t/**\n\t * @description whether select can be cleared\n\t */\n\tclearable: Boolean,\n\t/**\n\t * @description custom clear icon\n\t */\n\tclearIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: CircleClose,\n\t},\n\t/**\n\t * @description tooltip theme, built-in theme: `dark` / `light`\n\t */\n\teffect: {\n\t\ttype: definePropType<PopperEffect | string>(String),\n\t\tdefault: \"light\",\n\t},\n\t/**\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: Boolean,\n\t/**\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: Boolean,\n\t/**\n\t * @description The max tags number to be shown. To use this, `collapse-tags` must be true\n\t */\n\tmaxCollapseTags: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n\t/**\n\t * @description\n\t */\n\tdefaultFirstOption: Boolean,\n\t/**\n\t * @description is disabled\n\t */\n\tdisabled: Boolean,\n\t/**\n\t * @description\n\t */\n\testimatedOptionHeight: {\n\t\ttype: Number,\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description is filterable\n\t */\n\tfilterable: Boolean,\n\t/**\n\t * @description\n\t */\n\tfilterMethod: Function,\n\t/**\n\t * @description The height of the dropdown panel, 34px for each item\n\t */\n\theight: {\n\t\ttype: Number,\n\t\tdefault: 274, // same as select dropdown menu\n\t},\n\t/**\n\t * @description The height of the dropdown item\n\t */\n\titemHeight: {\n\t\ttype: Number,\n\t\tdefault: 34,\n\t},\n\t/**\n\t * @description\n\t */\n\tid: String,\n\t/**\n\t * @description whether Select is loading data from server\n\t */\n\tloading: Boolean,\n\t/**\n\t * @description displayed text while loading data from server, default is 'Loading'\n\t */\n\tloadingText: String,\n\t/**\n\t * @description biding value\n\t */\n\tmodelValue: {\n\t\ttype: definePropType<any[] | string | number | boolean | Record<string, any> | any>([Array, String, Number, Boolean, Object]),\n\t},\n\t/**\n\t * @description is multiple\n\t */\n\tmultiple: Boolean,\n\t/**\n\t * @description maximum number of options user can select when multiple is true. No limit when set to 0\n\t */\n\tmultipleLimit: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description the name attribute of select input\n\t */\n\tname: String,\n\t/**\n\t * @description displayed text when there is no options, you can also use slot empty, the default is 'No Data'\n\t */\n\tnoDataText: String,\n\t/**\n\t * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n\t */\n\tnoMatchText: String,\n\t/**\n\t * @description function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true\n\t */\n\tremoteMethod: Function,\n\t/**\n\t * @description whether reserve the keyword after select filtered option.\n\t */\n\treserveKeyword: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description data of the options, the key of `value` and `label` can be customize by `props`\n\t */\n\toptions: {\n\t\ttype: definePropType<\n\t\t\t(\n\t\t\t\t| Record<string, any>\n\t\t\t\t| (Record<string, any> & {\n\t\t\t\t\t\tcreated?: boolean;\n\t\t\t\t })\n\t\t\t)[]\n\t\t>(Array),\n\t\t// required: true,\n\t},\n\t/**\n\t * @description placeholder, the default is 'Please select'\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t},\n\t/**\n\t * @description whether select dropdown is teleported to the body\n\t */\n\tteleported: useTooltipContentProps.teleported,\n\t/**\n\t * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n\t */\n\tpersistent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description custom class name for Select's dropdown\n\t */\n\tpopperClass: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n\t */\n\tpopperOptions: {\n\t\ttype: definePropType<Partial<Options>>(Object),\n\t\tdefault: (): Partial<Options> => ({}),\n\t},\n\t/**\n\t * @description whether search data from server\n\t */\n\tremote: Boolean,\n\t/**\n\t * @description size of component\n\t */\n\tsize: useSizeProp,\n\t/**\n\t * @description configuration options, see the following table\n\t */\n\tprops: {\n\t\ttype: definePropType<Props>(Object),\n\t\tdefault: (): Required<Props> => ({\n\t\t\tlabel: \"label\",\n\t\t\tvalue: \"value\",\n\t\t\tdisabled: \"disabled\",\n\t\t\toptions: \"options\",\n\t\t}),\n\t},\n\t/**\n\t * @description unique identity key name for value, required when value is an object\n\t */\n\tvalueKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/**\n\t * @description Controls whether the scrollbar is always displayed\n\t */\n\tscrollbarAlwaysOn: Boolean,\n\t/**\n\t * @description whether to trigger form validation\n\t */\n\tvalidateEvent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description offset of the dropdown\n\t */\n\toffset: {\n\t\ttype: Number,\n\t\tdefault: 12,\n\t},\n\t/**\n\t * @description Determines whether the arrow is displayed\n\t */\n\tshowArrow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description position of dropdown\n\t */\n\tplacement: {\n\t\ttype: definePropType<Placement>(String),\n\t\tdefault: \"bottom-start\",\n\t},\n\t/**\n\t * @description list of possible positions for dropdown\n\t */\n\tfallbackPlacements: {\n\t\ttype: definePropType<Placement[]>(Array),\n\t\tdefault: [\"bottom-start\", \"top-start\", \"right\", \"left\"],\n\t},\n\t/**\n\t * @description tag type\n\t */\n\ttagType: { ...tagProps.type, default: \"info\" },\n\t/**\n\t * @description tag effect\n\t */\n\ttagEffect: { ...tagProps.effect, default: \"light\" },\n\t/**\n\t * @description tabindex for input\n\t */\n\ttabindex: {\n\t\ttype: [String, Number],\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description which element the select dropdown appends to\n\t */\n\tappendTo: String,\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\nexport type SelectComponentProps = {\n\t/** @description 指定标签为节点的某个属性值 */\n\tlabel?: string | ((data: any) => string);\n\t/** @description 指定是否隐藏为节点的某个属性值 */\n\thide?: string | ((data: any) => boolean);\n\t/** @description 指定是否禁用为节点的某个属性值 */\n\tdisabled?: string | ((data: any) => boolean);\n\t/** @description 指定子节点对象为节点的某个属性值 */\n\tchildren?: string;\n};\n\nexport const faSelectV2Props = {\n\t...SelectV2Props,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 默认选中。不能和懒加载一起使用 */\n\tdefaultSelected: Boolean,\n\t/** @description 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** 分页返回 */\n\tpageResult: Boolean,\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<((params?: any) => Promise<ElSelectorOutput[]>) | ((params?: PagedInput) => Promise<PagedResult<ElSelectorOutput>>)>(\n\t\t\tFunction\n\t\t),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectV2Emits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean =>\n\t\t(isObject(data) || isArray(data) || isNull(data)) &&\n\t\t(isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),\n\t/** @description 下拉框出现/隐藏时触发 */\n\tvisibleChange: (visible: boolean): boolean => isBoolean(visible),\n\t/** @description 多选模式下移除tag时触发 */\n\tremoveTag: (tagValue: any): boolean => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),\n\t/** @description 可清空的单选模式下用户点击清空按钮时触发 */\n\tclear: (): boolean => true,\n\t/** @description 当 input 失去焦点时触发 */\n\tblur: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\t/** @description 当 input 获得焦点时触发 */\n\tfocus: (event: FocusEvent): boolean => event instanceof FocusEvent,\n};\n\ntype FaSelectV2Slots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: { item: ElSelectorOutput; index: number; disabled: boolean };\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaSelectV2\",\n\tprops: faSelectV2Props,\n\temits: faSelectV2Emits,\n\tslots: makeSlots<FaSelectV2Slots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: props.data?.length > 0 ? false : true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t});\n\n\t\tconst selectV2Ref = ref<InstanceType<typeof ElSelectV2>>();\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = props.initParam ?? {};\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\t// 这里不允许回显了\n\t\t\t\t\tstate.echo = false;\n\t\t\t\t\t// 判断是否为分页返回\n\t\t\t\t\tif (props.pageResult) {\n\t\t\t\t\t\tstate.selectorData = (resData as PagedResult<ElSelectorOutput>).rows;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate.selectorData = resData as ElSelectorOutput[];\n\t\t\t\t\t}\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaSelect\", error);\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstate.selectorData = props.data;\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst data = state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\t// 懒加载\n\t\t\t\t\t!props.defaultSelected && props.lazy && (await loadData());\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visibleChange\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\t// 判断是否为数组\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(async () => {\n\t\t\tif (props.defaultSelected) {\n\t\t\t\tawait loadData();\n\t\t\t\tif (state.selectorData.length > 0) {\n\t\t\t\t\thandleChange(props.multiple ? [state.selectorData[0].value] : state.selectorData[0].value);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为本地数据\n\t\t\telse if (!props.requestApi && props.data?.length > 0) {\n\t\t\t\tstate.debut = false;\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\t// 判断是否非默认选中,且未启用懒加载\n\t\t\telse if (!props.lazy) {\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elSelectV2Props = useProps(props, SelectV2Props, [\"modelValue\", \"popperClass\", \"loading\", \"options\", \"itemHeight\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElSelectV2\n\t\t\t\t{...elSelectV2Props.value}\n\t\t\t\tref={selectV2Ref}\n\t\t\t\tclass=\"fa-select-v2\"\n\t\t\t\tpopperClass={`${props.moreDetail && `fa-select-v2-dropdown__more-detail`} ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\toptions={state.selectorData}\n\t\t\t\titemHeight={props.itemHeight + (_globalSize.value === \"small\" ? 0 : 8)}\n\t\t\t\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tonRemoveTag={(tagValue: any) => emit(\"removeTag\", tagValue)}\n\t\t\t\tonBlur={(event: FocusEvent) => emit(\"blur\", event)}\n\t\t\t\tonFocus={(event: FocusEvent) => emit(\"focus\", event)}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\t...(slots.default && {\n\t\t\t\t\t\tdefault: ({ item, index, disabled }: { item: ElSelectorOutput; index: number; disabled: boolean }): VNode[] =>\n\t\t\t\t\t\t\tslots.default({ item, index, disabled }),\n\t\t\t\t\t}),\n\t\t\t\t\t...(slots.header && { header: (): VNode[] => slots.header() }),\n\t\t\t\t\t...(slots.footer && { footer: (): VNode[] => slots.footer() }),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(slots.label && {\n\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElSelectV2>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectV2Ref.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectV2Ref.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectV2Ref.value?.selectedLabel),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["SelectV2Props","allowCreate","Boolean","autocomplete","type","definePropType","String","default","automaticDropdown","clearable","clearIcon","Object","Function","CircleClose","effect","collapseTags","collapseTagsTooltip","maxCollapseTags","Number","defaultFirstOption","disabled","estimatedOptionHeight","undefined","filterable","filterMethod","height","itemHeight","id","loading","loadingText","modelValue","Array","multiple","multipleLimit","name","noDataText","noMatchText","remoteMethod","reserveKeyword","options","placeholder","teleported","useTooltipContentProps","persistent","popperClass","popperOptions","remote","size","useSizeProp","props","label","value","valueKey","scrollbarAlwaysOn","validateEvent","offset","showArrow","placement","fallbackPlacements","tagType","tagProps","tagEffect","tabindex","appendTo","useEmptyValuesProps","useAriaProps","faSelectV2Props","width","moreDetail","lazy","defaultSelected","data","pageResult","requestApi","initParam","faSelectV2Emits","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","visibleChange","visible","removeTag","tagValue","clear","blur","event","FocusEvent","focus","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","_globalSize","useGlobalSize","state","reactive","withDefineType","selectorData","debut","echo","length","nextRefresh","selectV2Ref","ref","loadData","params","resData","rows","error","consoleError","handleChange","valueArr","dataList","filter","f","includes","map","m","isNil","find","handleClear","handleVisibleChange","watch","newValue","hasLabel","slice","item","index","immediate","onMounted","oldValue","isEqual","deep","elSelectV2Props","useProps","useRender","_createVNode","ElSelectV2","_mergeProps","addUnit","$event","header","footer","prefix","empty","tag","useExpose","computed","refresh","setSelection","clearSelection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selectV2.mjs","sources":["../../../../../packages/components/selectV2/src/selectV2.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelectV2, tagProps, useAriaProps, useEmptyValuesProps, useGlobalSize, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { CircleClose } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"@fast-element-plus/components/select/src/select.type\";\nimport type { PagedInput, PagedResult } from \"@fast-element-plus/components/table\";\nimport type { Options, Placement, PopperEffect } from \"element-plus\";\nimport type { Component, VNode } from \"vue\";\n\ntype Props = {\n\tlabel?: string;\n\tvalue?: string;\n\tdisabled?: string;\n\toptions?: string;\n};\n\nexport const SelectV2Props = {\n\t/**\n\t * @description whether creating new items is allowed. To use this, `filterable` must be true\n\t */\n\tallowCreate: Boolean,\n\t/**\n\t * @description autocomplete of select input\n\t */\n\tautocomplete: {\n\t\ttype: definePropType<\"none\" | \"both\" | \"list\" | \"inline\">(String),\n\t\tdefault: \"none\",\n\t},\n\t/**\n\t * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n\t */\n\tautomaticDropdown: Boolean,\n\t/**\n\t * @description whether select can be cleared\n\t */\n\tclearable: Boolean,\n\t/**\n\t * @description custom clear icon\n\t */\n\tclearIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: CircleClose,\n\t},\n\t/**\n\t * @description tooltip theme, built-in theme: `dark` / `light`\n\t */\n\teffect: {\n\t\ttype: definePropType<PopperEffect | string>(String),\n\t\tdefault: \"light\",\n\t},\n\t/**\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: Boolean,\n\t/**\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: Boolean,\n\t/**\n\t * @description The max tags number to be shown. To use this, `collapse-tags` must be true\n\t */\n\tmaxCollapseTags: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n\t/**\n\t * @description\n\t */\n\tdefaultFirstOption: Boolean,\n\t/**\n\t * @description is disabled\n\t */\n\tdisabled: Boolean,\n\t/**\n\t * @description\n\t */\n\testimatedOptionHeight: {\n\t\ttype: Number,\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description is filterable\n\t */\n\tfilterable: Boolean,\n\t/**\n\t * @description\n\t */\n\tfilterMethod: Function,\n\t/**\n\t * @description The height of the dropdown panel, 34px for each item\n\t */\n\theight: {\n\t\ttype: Number,\n\t\tdefault: 274, // same as select dropdown menu\n\t},\n\t/**\n\t * @description The height of the dropdown item\n\t */\n\titemHeight: {\n\t\ttype: Number,\n\t\tdefault: 34,\n\t},\n\t/**\n\t * @description\n\t */\n\tid: String,\n\t/**\n\t * @description whether Select is loading data from server\n\t */\n\tloading: Boolean,\n\t/**\n\t * @description displayed text while loading data from server, default is 'Loading'\n\t */\n\tloadingText: String,\n\t/**\n\t * @description biding value\n\t */\n\tmodelValue: {\n\t\ttype: definePropType<any[] | string | number | boolean | Record<string, any> | any>([Array, String, Number, Boolean, Object]),\n\t},\n\t/**\n\t * @description is multiple\n\t */\n\tmultiple: Boolean,\n\t/**\n\t * @description maximum number of options user can select when multiple is true. No limit when set to 0\n\t */\n\tmultipleLimit: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description the name attribute of select input\n\t */\n\tname: String,\n\t/**\n\t * @description displayed text when there is no options, you can also use slot empty, the default is 'No Data'\n\t */\n\tnoDataText: String,\n\t/**\n\t * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n\t */\n\tnoMatchText: String,\n\t/**\n\t * @description function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true\n\t */\n\tremoteMethod: Function,\n\t/**\n\t * @description whether reserve the keyword after select filtered option.\n\t */\n\treserveKeyword: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description data of the options, the key of `value` and `label` can be customize by `props`\n\t */\n\toptions: {\n\t\ttype: definePropType<\n\t\t\t(\n\t\t\t\t| Record<string, any>\n\t\t\t\t| (Record<string, any> & {\n\t\t\t\t\t\tcreated?: boolean;\n\t\t\t\t })\n\t\t\t)[]\n\t\t>(Array),\n\t\t// required: true,\n\t},\n\t/**\n\t * @description placeholder, the default is 'Please select'\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t},\n\t/**\n\t * @description whether select dropdown is teleported to the body\n\t */\n\tteleported: useTooltipContentProps.teleported,\n\t/**\n\t * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n\t */\n\tpersistent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description custom class name for Select's dropdown\n\t */\n\tpopperClass: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n\t */\n\tpopperOptions: {\n\t\ttype: definePropType<Partial<Options>>(Object),\n\t\tdefault: (): Partial<Options> => ({}),\n\t},\n\t/**\n\t * @description whether search data from server\n\t */\n\tremote: Boolean,\n\t/**\n\t * @description size of component\n\t */\n\tsize: useSizeProp,\n\t/**\n\t * @description configuration options, see the following table\n\t */\n\tprops: {\n\t\ttype: definePropType<Props>(Object),\n\t\tdefault: (): Required<Props> => ({\n\t\t\tlabel: \"label\",\n\t\t\tvalue: \"value\",\n\t\t\tdisabled: \"disabled\",\n\t\t\toptions: \"options\",\n\t\t}),\n\t},\n\t/**\n\t * @description unique identity key name for value, required when value is an object\n\t */\n\tvalueKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/**\n\t * @description Controls whether the scrollbar is always displayed\n\t */\n\tscrollbarAlwaysOn: Boolean,\n\t/**\n\t * @description whether to trigger form validation\n\t */\n\tvalidateEvent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description offset of the dropdown\n\t */\n\toffset: {\n\t\ttype: Number,\n\t\tdefault: 12,\n\t},\n\t/**\n\t * @description Determines whether the arrow is displayed\n\t */\n\tshowArrow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description position of dropdown\n\t */\n\tplacement: {\n\t\ttype: definePropType<Placement>(String),\n\t\tdefault: \"bottom-start\",\n\t},\n\t/**\n\t * @description list of possible positions for dropdown\n\t */\n\tfallbackPlacements: {\n\t\ttype: definePropType<Placement[]>(Array),\n\t\tdefault: [\"bottom-start\", \"top-start\", \"right\", \"left\"],\n\t},\n\t/**\n\t * @description tag type\n\t */\n\ttagType: { ...tagProps.type, default: \"info\" },\n\t/**\n\t * @description tag effect\n\t */\n\ttagEffect: { ...tagProps.effect, default: \"light\" },\n\t/**\n\t * @description tabindex for input\n\t */\n\ttabindex: {\n\t\ttype: [String, Number],\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description which element the select dropdown appends to\n\t */\n\tappendTo: String,\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\nexport type SelectComponentProps = {\n\t/** @description 指定标签为节点的某个属性值 */\n\tlabel?: string | ((data: any) => string);\n\t/** @description 指定是否隐藏为节点的某个属性值 */\n\thide?: string | ((data: any) => boolean);\n\t/** @description 指定是否禁用为节点的某个属性值 */\n\tdisabled?: string | ((data: any) => boolean);\n\t/** @description 指定子节点对象为节点的某个属性值 */\n\tchildren?: string;\n};\n\nexport const faSelectV2Props = {\n\t...SelectV2Props,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 默认选中。不能和懒加载一起使用 */\n\tdefaultSelected: Boolean,\n\t/** @description 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** 分页返回 */\n\tpageResult: Boolean,\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<((params?: any) => Promise<ElSelectorOutput[]>) | ((params?: PagedInput) => Promise<PagedResult<ElSelectorOutput>>)>(\n\t\t\tFunction\n\t\t),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectV2Emits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean =>\n\t\t(isObject(data) || isArray(data) || isNull(data)) &&\n\t\t(isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),\n\t/** @description 下拉框出现/隐藏时触发 */\n\tvisibleChange: (visible: boolean): boolean => isBoolean(visible),\n\t/** @description 多选模式下移除tag时触发 */\n\tremoveTag: (tagValue: any): boolean => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),\n\t/** @description 可清空的单选模式下用户点击清空按钮时触发 */\n\tclear: (): boolean => true,\n\t/** @description 当 input 失去焦点时触发 */\n\tblur: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\t/** @description 当 input 获得焦点时触发 */\n\tfocus: (event: FocusEvent): boolean => event instanceof FocusEvent,\n};\n\ntype FaSelectV2Slots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: { item: ElSelectorOutput; index: number; disabled: boolean };\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaSelectV2\",\n\tprops: faSelectV2Props,\n\temits: faSelectV2Emits,\n\tslots: makeSlots<FaSelectV2Slots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: props.data?.length > 0 ? false : true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t});\n\n\t\tconst selectV2Ref = ref<InstanceType<typeof ElSelectV2>>();\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = props.initParam ?? {};\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\t// 这里不允许回显了\n\t\t\t\t\tstate.echo = false;\n\t\t\t\t\t// 判断是否为分页返回\n\t\t\t\t\tif (props.pageResult) {\n\t\t\t\t\t\tstate.selectorData = (resData as PagedResult<ElSelectorOutput>).rows;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate.selectorData = resData as ElSelectorOutput[];\n\t\t\t\t\t}\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaSelect\", error);\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.selectorData = props.data;\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst data = state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\t// 懒加载\n\t\t\t\t\t!props.defaultSelected && props.lazy && (await loadData());\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visibleChange\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\t// 判断是否为数组\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(async () => {\n\t\t\tif (props.defaultSelected) {\n\t\t\t\tawait loadData();\n\t\t\t\tif (state.selectorData.length > 0) {\n\t\t\t\t\thandleChange(props.multiple ? [state.selectorData[0].value] : state.selectorData[0].value);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为本地数据\n\t\t\telse if (!props.requestApi && props.data?.length > 0) {\n\t\t\t\tstate.debut = false;\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\t// 判断是否非默认选中,且未启用懒加载\n\t\t\telse if (!props.lazy) {\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elSelectV2Props = useProps(props, SelectV2Props, [\"modelValue\", \"popperClass\", \"loading\", \"options\", \"itemHeight\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElSelectV2\n\t\t\t\t{...elSelectV2Props.value}\n\t\t\t\tref={selectV2Ref}\n\t\t\t\tclass=\"fa-select-v2\"\n\t\t\t\tpopperClass={`${props.moreDetail && `fa-select-v2-dropdown__more-detail`} ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\toptions={state.selectorData}\n\t\t\t\titemHeight={props.itemHeight + (_globalSize.value === \"small\" ? 0 : 8)}\n\t\t\t\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tonRemoveTag={(tagValue: any) => emit(\"removeTag\", tagValue)}\n\t\t\t\tonBlur={(event: FocusEvent) => emit(\"blur\", event)}\n\t\t\t\tonFocus={(event: FocusEvent) => emit(\"focus\", event)}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\t...(slots.default && {\n\t\t\t\t\t\tdefault: ({ item, index, disabled }: { item: ElSelectorOutput; index: number; disabled: boolean }): VNode[] =>\n\t\t\t\t\t\t\tslots.default({ item, index, disabled }),\n\t\t\t\t\t}),\n\t\t\t\t\t...(slots.header && { header: (): VNode[] => slots.header() }),\n\t\t\t\t\t...(slots.footer && { footer: (): VNode[] => slots.footer() }),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(slots.label && {\n\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElSelectV2>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectV2Ref.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectV2Ref.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectV2Ref.value?.selectedLabel),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["SelectV2Props","allowCreate","Boolean","autocomplete","type","definePropType","String","default","automaticDropdown","clearable","clearIcon","Object","Function","CircleClose","effect","collapseTags","collapseTagsTooltip","maxCollapseTags","Number","defaultFirstOption","disabled","estimatedOptionHeight","undefined","filterable","filterMethod","height","itemHeight","id","loading","loadingText","modelValue","Array","multiple","multipleLimit","name","noDataText","noMatchText","remoteMethod","reserveKeyword","options","placeholder","teleported","useTooltipContentProps","persistent","popperClass","popperOptions","remote","size","useSizeProp","props","label","value","valueKey","scrollbarAlwaysOn","validateEvent","offset","showArrow","placement","fallbackPlacements","tagType","tagProps","tagEffect","tabindex","appendTo","useEmptyValuesProps","useAriaProps","faSelectV2Props","width","moreDetail","lazy","defaultSelected","data","pageResult","requestApi","initParam","faSelectV2Emits","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","visibleChange","visible","removeTag","tagValue","clear","blur","event","FocusEvent","focus","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","_globalSize","useGlobalSize","state","reactive","withDefineType","selectorData","debut","echo","length","nextRefresh","selectV2Ref","ref","loadData","params","resData","rows","error","consoleError","handleChange","valueArr","dataList","filter","f","includes","map","m","isNil","find","handleClear","handleVisibleChange","watch","newValue","hasLabel","slice","item","index","immediate","onMounted","oldValue","isEqual","deep","elSelectV2Props","useProps","useRender","_createVNode","ElSelectV2","_mergeProps","addUnit","$event","header","footer","prefix","empty","tag","useExpose","computed","refresh","setSelection","clearSelection"],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export declare const tableProps: {
|
|
|
22
22
|
* @description size of Table
|
|
23
23
|
*/
|
|
24
24
|
size: {
|
|
25
|
-
readonly type: PropType<"" | "small" | "default" | "large"
|
|
25
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
|
|
26
26
|
readonly required: false;
|
|
27
27
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
28
28
|
__epPropKey: true;
|
|
@@ -253,8 +253,6 @@ export declare const faTableProps: {
|
|
|
253
253
|
columnsChange: {
|
|
254
254
|
type: PropType<(columns: FaTableChangeColumnsCtx[]) => Promise<void>>;
|
|
255
255
|
};
|
|
256
|
-
/** @description 显示搜素 */
|
|
257
|
-
showSearch: BooleanConstructor;
|
|
258
256
|
/** @description 搜索表单 Grid布局列配置 */
|
|
259
257
|
searchFormCols: {
|
|
260
258
|
type: PropType<string | number | Record<FaLayoutGridBreakPoint, number>>;
|
|
@@ -335,7 +333,7 @@ export declare const faTableProps: {
|
|
|
335
333
|
* @description size of Table
|
|
336
334
|
*/
|
|
337
335
|
size: {
|
|
338
|
-
readonly type: PropType<"" | "small" | "default" | "large"
|
|
336
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
|
|
339
337
|
readonly required: false;
|
|
340
338
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
341
339
|
__epPropKey: true;
|
|
@@ -649,8 +647,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
649
647
|
columnsChange: {
|
|
650
648
|
type: PropType<(columns: FaTableChangeColumnsCtx[]) => Promise<void>>;
|
|
651
649
|
};
|
|
652
|
-
/** @description 显示搜素 */
|
|
653
|
-
showSearch: BooleanConstructor;
|
|
654
650
|
/** @description 搜索表单 Grid布局列配置 */
|
|
655
651
|
searchFormCols: {
|
|
656
652
|
type: PropType<string | number | Record<FaLayoutGridBreakPoint, number>>;
|
|
@@ -731,7 +727,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
731
727
|
* @description size of Table
|
|
732
728
|
*/
|
|
733
729
|
size: {
|
|
734
|
-
readonly type: PropType<"" | "small" | "default" | "large"
|
|
730
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
|
|
735
731
|
readonly required: false;
|
|
736
732
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
737
733
|
__epPropKey: true;
|
|
@@ -1065,8 +1061,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1065
1061
|
columnsChange: {
|
|
1066
1062
|
type: PropType<(columns: FaTableChangeColumnsCtx[]) => Promise<void>>;
|
|
1067
1063
|
};
|
|
1068
|
-
/** @description 显示搜素 */
|
|
1069
|
-
showSearch: BooleanConstructor;
|
|
1070
1064
|
/** @description 搜索表单 Grid布局列配置 */
|
|
1071
1065
|
searchFormCols: {
|
|
1072
1066
|
type: PropType<string | number | Record<FaLayoutGridBreakPoint, number>>;
|
|
@@ -1147,7 +1141,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1147
1141
|
* @description size of Table
|
|
1148
1142
|
*/
|
|
1149
1143
|
size: {
|
|
1150
|
-
readonly type: PropType<"" | "small" | "default" | "large"
|
|
1144
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
|
|
1151
1145
|
readonly required: false;
|
|
1152
1146
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
1153
1147
|
__epPropKey: true;
|
|
@@ -1351,8 +1345,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1351
1345
|
fit: boolean;
|
|
1352
1346
|
data: any[];
|
|
1353
1347
|
style: CSSProperties;
|
|
1354
|
-
className: string;
|
|
1355
1348
|
lazy: boolean;
|
|
1349
|
+
className: string;
|
|
1356
1350
|
columns: FaTableColumnCtx[];
|
|
1357
1351
|
scrollbarAlwaysOn: boolean;
|
|
1358
1352
|
defaultExpandAll: boolean;
|
|
@@ -1363,7 +1357,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1363
1357
|
border: boolean;
|
|
1364
1358
|
highlightCurrentRow: boolean;
|
|
1365
1359
|
tableKey: string;
|
|
1366
|
-
showSearch: boolean;
|
|
1367
1360
|
searchFormCols: string | number | Record<FaLayoutGridBreakPoint, number>;
|
|
1368
1361
|
searchForm: boolean;
|
|
1369
1362
|
headerCard: boolean;
|
|
@@ -259,8 +259,6 @@ const faTableProps = {
|
|
|
259
259
|
columnsChange: {
|
|
260
260
|
type: definePropType(Function)
|
|
261
261
|
},
|
|
262
|
-
/** @description 显示搜素 */
|
|
263
|
-
showSearch: Boolean,
|
|
264
262
|
/** @description 搜索表单 Grid布局列配置 */
|
|
265
263
|
searchFormCols: {
|
|
266
264
|
type: definePropType([String, Number, Object]),
|
|
@@ -728,7 +726,7 @@ const Table = /* @__PURE__ */ defineComponent({
|
|
|
728
726
|
"--fa-table-height": `${state.tableHeight ? `${state.tableHeight}px` : ""}`
|
|
729
727
|
}
|
|
730
728
|
}, [createVNode(TableSearchForm, {
|
|
731
|
-
"show": props.searchForm && state.
|
|
729
|
+
"show": props.searchForm && state.searchForm,
|
|
732
730
|
"cols": props.searchFormCols,
|
|
733
731
|
"search": tableSearch,
|
|
734
732
|
"reset": tableReset
|
|
@@ -804,10 +802,10 @@ const Table = /* @__PURE__ */ defineComponent({
|
|
|
804
802
|
}, null), props.searchBtn && state.searchColumns.length > 0 && createVNode(ElButton, {
|
|
805
803
|
"loading": state.loading,
|
|
806
804
|
"loadingIcon": Eleme,
|
|
807
|
-
"title": state.
|
|
805
|
+
"title": state.searchForm ? "隐藏搜索栏" : "显示搜索栏",
|
|
808
806
|
"circle": true,
|
|
809
807
|
"icon": Search,
|
|
810
|
-
"onClick": () => state.
|
|
808
|
+
"onClick": () => state.searchForm = !state.searchForm
|
|
811
809
|
}, null), props.columnSettingBtn && !props.columns && createVNode(ElButton, {
|
|
812
810
|
"loading": state.loading,
|
|
813
811
|
"loadingIcon": Eleme,
|
|
@@ -893,7 +891,7 @@ const Table = /* @__PURE__ */ defineComponent({
|
|
|
893
891
|
"fixed": "right",
|
|
894
892
|
"width": state.operationColumnWidth,
|
|
895
893
|
"headerAlign": "center",
|
|
896
|
-
"align": "
|
|
894
|
+
"align": "left",
|
|
897
895
|
"showOverflowTooltip": false,
|
|
898
896
|
"className": "fa-table__operation-column",
|
|
899
897
|
"resizable": false,
|