@touchvue/ui 1.0.0-beta.54 → 1.0.0-beta.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/input/src/input.vue.d.ts +2 -2
- package/es/components/pic/index.d.ts +9 -0
- package/es/components/pic/src/Pic.vue.d.ts +9 -0
- package/es/components/pic/src/pic.d.ts +7 -0
- package/es/components/rate/src/rate.vue.d.ts +46 -10
- package/es/components/scroll/index.d.ts +15 -0
- package/es/components/scroll/src/Scroll.vue.d.ts +9 -0
- package/es/components/scroll/src/scroll.d.ts +7 -0
- package/es/components/select/src/select.d.ts +18 -0
- package/es/components/select/src/select.vue.d.ts +18 -0
- package/es/components/table/src/table-head.vue.d.ts +2 -0
- package/es/components/tip/src/tip.vue.d.ts +2 -2
- package/es/components/upload/src/upload.vue.d.ts +6 -4
- package/es/index.d.mjs.map +1 -1
- package/es/index.mjs +2 -1
- package/es/index.mjs.map +1 -1
- package/es/packages/components/calendar/src/calendar.vue2.mjs +22 -0
- package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
- package/es/packages/components/cascader/src/cascader-item.vue2.mjs +1 -0
- package/es/packages/components/cascader/src/cascader-item.vue2.mjs.map +1 -1
- package/es/packages/components/cascader/src/cascader.vue2.mjs +1 -0
- package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
- package/es/packages/components/float/src/Float.vue2.mjs +4 -4
- package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
- package/es/packages/components/pic/src/Pic.vue2.mjs +18 -2
- package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
- package/es/packages/components/pic/src/pic.mjs +7 -0
- package/es/packages/components/pic/src/pic.mjs.map +1 -1
- package/es/packages/components/rate/src/rate.vue2.mjs +153 -85
- package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
- package/es/packages/components/scroll/src/Scroll.vue2.mjs +3 -0
- package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
- package/es/packages/components/scroll/src/scroll.mjs +7 -0
- package/es/packages/components/scroll/src/scroll.mjs.map +1 -1
- package/es/packages/components/segment/src/segment.vue.mjs +10 -12
- package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
- package/es/packages/components/select/src/select.mjs +18 -0
- package/es/packages/components/select/src/select.mjs.map +1 -1
- package/es/packages/components/select/src/select.vue2.mjs +263 -87
- package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/table-head.vue2.mjs +101 -45
- package/es/packages/components/table/src/table-head.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/table.vue2.mjs +244 -62
- package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
- package/es/packages/components/tree/src/tree-item.vue2.mjs +2 -1
- package/es/packages/components/tree/src/tree-item.vue2.mjs.map +1 -1
- package/es/packages/components/upload/src/upload.vue2.mjs +203 -153
- package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
- package/es/packages/directives/tip/src/tip.mjs +42 -27
- package/es/packages/directives/tip/src/tip.mjs.map +1 -1
- package/es/packages/locale/format.mjs +1 -1
- package/es/packages/locale/format.mjs.map +1 -1
- package/es/ui/index.d.ts +6 -0
- package/lib/components/input/src/input.vue.d.ts +2 -2
- package/lib/components/pic/index.d.ts +9 -0
- package/lib/components/pic/src/Pic.vue.d.ts +9 -0
- package/lib/components/pic/src/pic.d.ts +7 -0
- package/lib/components/rate/src/rate.vue.d.ts +46 -10
- package/lib/components/scroll/index.d.ts +15 -0
- package/lib/components/scroll/src/Scroll.vue.d.ts +9 -0
- package/lib/components/scroll/src/scroll.d.ts +7 -0
- package/lib/components/select/src/select.d.ts +18 -0
- package/lib/components/select/src/select.vue.d.ts +18 -0
- package/lib/components/table/src/table-head.vue.d.ts +2 -0
- package/lib/components/tip/src/tip.vue.d.ts +2 -2
- package/lib/components/upload/src/upload.vue.d.ts +6 -4
- package/lib/index.d.js.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/packages/components/calendar/src/calendar.vue2.js +22 -0
- package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
- package/lib/packages/components/cascader/src/cascader-item.vue2.js +1 -0
- package/lib/packages/components/cascader/src/cascader-item.vue2.js.map +1 -1
- package/lib/packages/components/cascader/src/cascader.vue2.js +1 -0
- package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
- package/lib/packages/components/float/src/Float.vue2.js +4 -4
- package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
- package/lib/packages/components/pic/src/Pic.vue2.js +17 -1
- package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
- package/lib/packages/components/pic/src/pic.js +7 -0
- package/lib/packages/components/pic/src/pic.js.map +1 -1
- package/lib/packages/components/rate/src/rate.vue2.js +152 -84
- package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
- package/lib/packages/components/scroll/src/Scroll.vue2.js +3 -0
- package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
- package/lib/packages/components/scroll/src/scroll.js +7 -0
- package/lib/packages/components/scroll/src/scroll.js.map +1 -1
- package/lib/packages/components/segment/src/segment.vue.js +10 -12
- package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
- package/lib/packages/components/select/src/select.js +18 -0
- package/lib/packages/components/select/src/select.js.map +1 -1
- package/lib/packages/components/select/src/select.vue2.js +262 -86
- package/lib/packages/components/select/src/select.vue2.js.map +1 -1
- package/lib/packages/components/table/src/table-head.vue2.js +100 -44
- package/lib/packages/components/table/src/table-head.vue2.js.map +1 -1
- package/lib/packages/components/table/src/table.vue2.js +243 -61
- package/lib/packages/components/table/src/table.vue2.js.map +1 -1
- package/lib/packages/components/tree/src/tree-item.vue2.js +2 -1
- package/lib/packages/components/tree/src/tree-item.vue2.js.map +1 -1
- package/lib/packages/components/upload/src/upload.vue2.js +202 -152
- package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
- package/lib/packages/directives/tip/src/tip.js +41 -26
- package/lib/packages/directives/tip/src/tip.js.map +1 -1
- package/lib/packages/locale/format.js +1 -1
- package/lib/packages/locale/format.js.map +1 -1
- package/lib/ui/index.d.ts +6 -0
- package/package.json +1 -1
- package/theme/base.css +0 -3
- package/theme/components/index.css +445 -255
- package/theme/index.css +445 -255
- package/theme/skin/default.css +445 -255
|
@@ -43,8 +43,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
43
43
|
vue.onMounted(() => {
|
|
44
44
|
calcScale();
|
|
45
45
|
window.addEventListener("resize", calcScale);
|
|
46
|
+
vue.nextTick(() => setupTagResizeObserver());
|
|
46
47
|
vue.onUnmounted(() => {
|
|
47
48
|
window.removeEventListener("resize", calcScale);
|
|
49
|
+
if (tagResizeObserver) {
|
|
50
|
+
tagResizeObserver.disconnect();
|
|
51
|
+
tagResizeObserver = null;
|
|
52
|
+
}
|
|
48
53
|
});
|
|
49
54
|
});
|
|
50
55
|
const props = __props;
|
|
@@ -54,6 +59,28 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
54
59
|
const $TouchUI = vue.inject("$TouchUI", {
|
|
55
60
|
colors: ["primary", "success", "warning", "danger", "info", "default", "dark"]
|
|
56
61
|
});
|
|
62
|
+
const ins = vue.getCurrentInstance();
|
|
63
|
+
const iClearType = vue.computed(() => {
|
|
64
|
+
var _a, _b, _c;
|
|
65
|
+
if (props.clearType) {
|
|
66
|
+
return props.clearType;
|
|
67
|
+
}
|
|
68
|
+
return (_c = (_b = (_a = ins == null ? void 0 : ins.appContext.config.globalProperties.$TouchUI) == null ? void 0 : _a.select) == null ? void 0 : _b.clearType) != null ? _c : "icon";
|
|
69
|
+
});
|
|
70
|
+
const showClearIcon = vue.computed(() => {
|
|
71
|
+
var _a;
|
|
72
|
+
if (!props.clearable || disabled.value || props.native)
|
|
73
|
+
return false;
|
|
74
|
+
if (iClearType.value !== "icon")
|
|
75
|
+
return false;
|
|
76
|
+
if (props.inputable || props.filterable || props.setDataFn || props.remoteMethod)
|
|
77
|
+
return false;
|
|
78
|
+
if (props.multiple) {
|
|
79
|
+
return selected.value.filter((item) => !item.hide).length > 0;
|
|
80
|
+
} else {
|
|
81
|
+
return Boolean((_a = selected.value) == null ? void 0 : _a[iValueText.value]);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
57
84
|
const { isPhone } = useDevice.useDevice();
|
|
58
85
|
const $phone = isPhone.value;
|
|
59
86
|
const iValue = vue.ref(props.modelValue);
|
|
@@ -70,6 +97,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
70
97
|
const multipleInputValue = vue.ref("");
|
|
71
98
|
const multipleFilterValue = vue.ref("");
|
|
72
99
|
const setDataInputValue = vue.ref("");
|
|
100
|
+
const isFiltering = vue.ref(false);
|
|
73
101
|
const dataLoading = vue.ref(false);
|
|
74
102
|
const errorTip = vue.ref("");
|
|
75
103
|
const errorType = vue.ref("rule");
|
|
@@ -90,6 +118,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
90
118
|
const popupFilter = vue.ref(null);
|
|
91
119
|
const popupInput = vue.ref(null);
|
|
92
120
|
const trigger = vue.ref(null);
|
|
121
|
+
const tagContainerRef = vue.ref(null);
|
|
93
122
|
const options = vue.ref([]);
|
|
94
123
|
const anotherOptions = vue.ref([]);
|
|
95
124
|
const { selected } = useSelectOptionData.useSelectOptionData({
|
|
@@ -100,6 +129,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
100
129
|
return true;
|
|
101
130
|
if (props.remoteMethod)
|
|
102
131
|
return true;
|
|
132
|
+
if (!isFiltering.value)
|
|
133
|
+
return true;
|
|
103
134
|
const value = filterValue.value;
|
|
104
135
|
if (value === "")
|
|
105
136
|
return true;
|
|
@@ -110,12 +141,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
110
141
|
return true;
|
|
111
142
|
if (props.remoteMethod)
|
|
112
143
|
return true;
|
|
144
|
+
if (!isFiltering.value)
|
|
145
|
+
return true;
|
|
113
146
|
const value = multipleFilterValue.value;
|
|
114
147
|
if (value === "")
|
|
115
148
|
return true;
|
|
116
149
|
return item[iLabelText.value].includes(value);
|
|
117
150
|
};
|
|
118
151
|
const nomatch = vue.computed(() => {
|
|
152
|
+
if (!isFiltering.value)
|
|
153
|
+
return false;
|
|
119
154
|
let nomatch2 = true;
|
|
120
155
|
let value = props.multiple ? multipleFilterValue.value : filterValue.value;
|
|
121
156
|
if (value === "") {
|
|
@@ -285,7 +320,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
285
320
|
if (props.native) {
|
|
286
321
|
return;
|
|
287
322
|
}
|
|
288
|
-
if (!props.multiple && props.clearable && !props.inputable && !props.setDataFn && !props.filterable && !props.remoteMethod && (!props.optionDisplay || props.optionDisplay === "float")) {
|
|
323
|
+
if (!props.multiple && props.clearable && iClearType.value === "default" && !props.inputable && !props.setDataFn && !props.filterable && !props.remoteMethod && (!props.optionDisplay || props.optionDisplay === "float")) {
|
|
289
324
|
options.value.unshift({
|
|
290
325
|
[iLabelText.value]: "",
|
|
291
326
|
[iValueText.value]: ""
|
|
@@ -528,6 +563,82 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
528
563
|
}
|
|
529
564
|
return arr;
|
|
530
565
|
});
|
|
566
|
+
const visibleCount = vue.ref(Infinity);
|
|
567
|
+
let isRecalculating = false;
|
|
568
|
+
let tagResizeObserver = null;
|
|
569
|
+
const displaySelected = vue.computed(() => {
|
|
570
|
+
return selected.value.filter((item) => !item.hide);
|
|
571
|
+
});
|
|
572
|
+
const overflowCount = vue.computed(() => {
|
|
573
|
+
if (!props.isCount)
|
|
574
|
+
return 0;
|
|
575
|
+
const max = visibleCount.value;
|
|
576
|
+
if (max >= displaySelected.value.length)
|
|
577
|
+
return 0;
|
|
578
|
+
return displaySelected.value.length - max;
|
|
579
|
+
});
|
|
580
|
+
const recalcVisibleCount = () => {
|
|
581
|
+
if (!props.isCount || isRecalculating || !tagContainerRef.value)
|
|
582
|
+
return;
|
|
583
|
+
isRecalculating = true;
|
|
584
|
+
visibleCount.value = Infinity;
|
|
585
|
+
vue.nextTick(() => {
|
|
586
|
+
const container = tagContainerRef.value;
|
|
587
|
+
if (!container) {
|
|
588
|
+
isRecalculating = false;
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
591
|
+
const containerWidth = container.clientWidth;
|
|
592
|
+
const tags = container.querySelectorAll(".to-select-item");
|
|
593
|
+
if (tags.length === 0) {
|
|
594
|
+
isRecalculating = false;
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
const style = getComputedStyle(container);
|
|
598
|
+
const fontSize = parseFloat(style.fontSize) || 16;
|
|
599
|
+
const gap = parseFloat(style.gap || style.rowGap) || 0;
|
|
600
|
+
const firstTagStyle = getComputedStyle(tags[0]);
|
|
601
|
+
const tagMarginLeft = parseFloat(firstTagStyle.marginLeft) || 0;
|
|
602
|
+
const tagMarginRight = parseFloat(firstTagStyle.marginRight) || 0;
|
|
603
|
+
const tagMargin = tagMarginLeft + tagMarginRight;
|
|
604
|
+
const overflowEstimate = 3 * fontSize + tagMargin + gap;
|
|
605
|
+
let reserved = overflowEstimate;
|
|
606
|
+
const inputEl = container.querySelector(".to-select-input");
|
|
607
|
+
if (inputEl) {
|
|
608
|
+
const inputStyle = getComputedStyle(inputEl);
|
|
609
|
+
const inputMargin = (parseFloat(inputStyle.marginLeft) || 0) + (parseFloat(inputStyle.marginRight) || 0);
|
|
610
|
+
reserved += inputEl.offsetWidth + inputMargin + gap;
|
|
611
|
+
}
|
|
612
|
+
let totalWidth = reserved;
|
|
613
|
+
let count = 0;
|
|
614
|
+
for (let i = 0; i < tags.length; i++) {
|
|
615
|
+
const w = tags[i].offsetWidth + tagMargin + gap;
|
|
616
|
+
if (totalWidth + w > containerWidth)
|
|
617
|
+
break;
|
|
618
|
+
totalWidth += w;
|
|
619
|
+
count++;
|
|
620
|
+
}
|
|
621
|
+
visibleCount.value = count > 0 ? count : 1;
|
|
622
|
+
vue.nextTick(() => {
|
|
623
|
+
isRecalculating = false;
|
|
624
|
+
});
|
|
625
|
+
});
|
|
626
|
+
};
|
|
627
|
+
const setupTagResizeObserver = () => {
|
|
628
|
+
if (props.isCount && props.multiple && tagContainerRef.value) {
|
|
629
|
+
if (!tagResizeObserver) {
|
|
630
|
+
tagResizeObserver = new ResizeObserver(() => recalcVisibleCount());
|
|
631
|
+
}
|
|
632
|
+
tagResizeObserver.observe(tagContainerRef.value);
|
|
633
|
+
recalcVisibleCount();
|
|
634
|
+
} else {
|
|
635
|
+
if (tagResizeObserver) {
|
|
636
|
+
tagResizeObserver.disconnect();
|
|
637
|
+
tagResizeObserver = null;
|
|
638
|
+
}
|
|
639
|
+
visibleCount.value = Infinity;
|
|
640
|
+
}
|
|
641
|
+
};
|
|
531
642
|
const change = (value, option) => {
|
|
532
643
|
if (props.beforeChange) {
|
|
533
644
|
let result = props.beforeChange(value, option);
|
|
@@ -633,6 +744,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
633
744
|
}
|
|
634
745
|
};
|
|
635
746
|
const filterInput = () => {
|
|
747
|
+
isFiltering.value = true;
|
|
636
748
|
if (props.remoteMethod) {
|
|
637
749
|
const keyword = props.multiple ? multipleFilterValue.value : filterValue.value;
|
|
638
750
|
clearTimeout(remoteSearchTimer);
|
|
@@ -642,6 +754,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
642
754
|
}
|
|
643
755
|
};
|
|
644
756
|
const filterClear = () => {
|
|
757
|
+
isFiltering.value = false;
|
|
645
758
|
iValue.value = "";
|
|
646
759
|
};
|
|
647
760
|
const setDataLoading = (loading) => {
|
|
@@ -702,6 +815,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
702
815
|
const clear = () => {
|
|
703
816
|
clearChange();
|
|
704
817
|
};
|
|
818
|
+
const clearClick = () => {
|
|
819
|
+
clear();
|
|
820
|
+
closeLayer();
|
|
821
|
+
};
|
|
705
822
|
const clearChange = () => {
|
|
706
823
|
if (props.multiple) {
|
|
707
824
|
change("", []);
|
|
@@ -846,6 +963,21 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
846
963
|
disabled.value = newVal;
|
|
847
964
|
}
|
|
848
965
|
);
|
|
966
|
+
vue.watch(
|
|
967
|
+
() => props.isCount,
|
|
968
|
+
() => {
|
|
969
|
+
vue.nextTick(() => setupTagResizeObserver());
|
|
970
|
+
}
|
|
971
|
+
);
|
|
972
|
+
vue.watch(
|
|
973
|
+
selected,
|
|
974
|
+
() => {
|
|
975
|
+
if (props.isCount) {
|
|
976
|
+
vue.nextTick(() => recalcVisibleCount());
|
|
977
|
+
}
|
|
978
|
+
},
|
|
979
|
+
{ deep: true }
|
|
980
|
+
);
|
|
849
981
|
const getLabel = (val) => {
|
|
850
982
|
const obj = options.value.find((item) => String(item[iValueText.value]) === String(val));
|
|
851
983
|
if (obj && obj[iLabelText.value]) {
|
|
@@ -930,6 +1062,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
930
1062
|
}
|
|
931
1063
|
};
|
|
932
1064
|
const layerClose = () => {
|
|
1065
|
+
isFiltering.value = false;
|
|
933
1066
|
if (!props.multiple) {
|
|
934
1067
|
if ((props.filterable || props.remoteMethod) && !props.inputable) {
|
|
935
1068
|
if (iValue.value) {
|
|
@@ -960,6 +1093,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
960
1093
|
openOptionLayer();
|
|
961
1094
|
};
|
|
962
1095
|
const layerOpen = () => {
|
|
1096
|
+
isFiltering.value = false;
|
|
963
1097
|
calcScale();
|
|
964
1098
|
};
|
|
965
1099
|
const compare = () => {
|
|
@@ -997,6 +1131,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
997
1131
|
key: vue.unref(index.langKey),
|
|
998
1132
|
ref_key: "$el",
|
|
999
1133
|
ref: $el,
|
|
1134
|
+
role: "button",
|
|
1000
1135
|
flex: _ctx.flex ? _ctx.flex : null,
|
|
1001
1136
|
class: vue.normalizeClass(["to-select", vue.unref(setClass)]),
|
|
1002
1137
|
style: vue.normalizeStyle(vue.unref(setStyle)),
|
|
@@ -1076,7 +1211,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
1076
1211
|
ref: selector,
|
|
1077
1212
|
"onUpdate:modelValue": ($event) => iValue.value = $event
|
|
1078
1213
|
}, [
|
|
1079
|
-
_ctx.clearable ? (vue.openBlock(), vue.createElementBlock(
|
|
1214
|
+
_ctx.clearable && iClearType.value === "default" ? (vue.openBlock(), vue.createElementBlock(
|
|
1080
1215
|
"option",
|
|
1081
1216
|
{
|
|
1082
1217
|
key: 0,
|
|
@@ -1261,91 +1396,124 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
1261
1396
|
{ key: 2 },
|
|
1262
1397
|
[
|
|
1263
1398
|
vue.createCommentVNode(" \u591A\u9009\u6807\u7B7E\u5BB9\u5668 "),
|
|
1264
|
-
vue.createElementVNode(
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
vue.
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1399
|
+
vue.createElementVNode(
|
|
1400
|
+
"span",
|
|
1401
|
+
{
|
|
1402
|
+
ref_key: "tagContainerRef",
|
|
1403
|
+
ref: tagContainerRef,
|
|
1404
|
+
class: vue.normalizeClass(["to-select-tag", { "is-collapse": _ctx.isCount }])
|
|
1405
|
+
},
|
|
1406
|
+
[
|
|
1407
|
+
vue.createCommentVNode(" \u5DF2\u9009\u4E2D\u9879\u7684\u6807\u7B7E\u663E\u793A "),
|
|
1408
|
+
vue.unref(selected).length > 0 && !(isAll.value && _ctx.useAllText) ? (vue.openBlock(), vue.createElementBlock(
|
|
1409
|
+
vue.Fragment,
|
|
1410
|
+
{ key: 0 },
|
|
1411
|
+
[
|
|
1412
|
+
(vue.openBlock(true), vue.createElementBlock(
|
|
1413
|
+
vue.Fragment,
|
|
1414
|
+
null,
|
|
1415
|
+
vue.renderList(_ctx.isCount ? displaySelected.value : vue.unref(selected), (item, index) => {
|
|
1416
|
+
return vue.openBlock(), vue.createElementBlock(
|
|
1417
|
+
vue.Fragment,
|
|
1418
|
+
{ key: index },
|
|
1419
|
+
[
|
|
1420
|
+
(_ctx.isCount ? index < visibleCount.value : !item.hide) ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ToTag), {
|
|
1421
|
+
key: 0,
|
|
1422
|
+
class: "to-select-item",
|
|
1423
|
+
removable: _ctx.removable && !disabled.value,
|
|
1424
|
+
onRemove: ($event) => removeTag(item)
|
|
1425
|
+
}, {
|
|
1426
|
+
default: vue.withCtx(() => [
|
|
1427
|
+
vue.createTextVNode(
|
|
1428
|
+
vue.toDisplayString(item[iLabelText.value]),
|
|
1429
|
+
1
|
|
1430
|
+
/* TEXT */
|
|
1431
|
+
)
|
|
1432
|
+
]),
|
|
1433
|
+
_: 2
|
|
1434
|
+
/* DYNAMIC */
|
|
1435
|
+
}, 1032, ["removable", "onRemove"])) : vue.createCommentVNode("v-if", true)
|
|
1436
|
+
],
|
|
1437
|
+
64
|
|
1438
|
+
/* STABLE_FRAGMENT */
|
|
1439
|
+
);
|
|
1440
|
+
}),
|
|
1441
|
+
128
|
|
1442
|
+
/* KEYED_FRAGMENT */
|
|
1443
|
+
)),
|
|
1444
|
+
vue.createCommentVNode(" \u6298\u53E0\u6A21\u5F0F\u4E0B\u663E\u793A +N "),
|
|
1445
|
+
_ctx.isCount && overflowCount.value > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ToTag), {
|
|
1446
|
+
key: 0,
|
|
1447
|
+
class: "to-select-overflow"
|
|
1448
|
+
}, {
|
|
1449
|
+
default: vue.withCtx(() => [
|
|
1450
|
+
vue.createTextVNode(
|
|
1451
|
+
" +" + vue.toDisplayString(overflowCount.value),
|
|
1452
|
+
1
|
|
1453
|
+
/* TEXT */
|
|
1454
|
+
)
|
|
1455
|
+
]),
|
|
1456
|
+
_: 1
|
|
1457
|
+
/* STABLE */
|
|
1458
|
+
})) : vue.createCommentVNode("v-if", true)
|
|
1459
|
+
],
|
|
1460
|
+
64
|
|
1461
|
+
/* STABLE_FRAGMENT */
|
|
1462
|
+
)) : vue.createCommentVNode("v-if", true),
|
|
1463
|
+
vue.createCommentVNode(" \u591A\u9009\u8F93\u5165\u6846\u533A\u57DF\uFF08\u975E\u624B\u673A\u7AEF\u6216\u624B\u673A\u7AEF\u65E0\u9009\u4E2D\u9879\u65F6\u663E\u793A\uFF09 "),
|
|
1464
|
+
!vue.unref($phone) || vue.unref($phone) && vue.unref(selected).length === 0 ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
1320
1465
|
key: 1,
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1466
|
+
class: "to-select-input"
|
|
1467
|
+
}, [
|
|
1468
|
+
vue.createCommentVNode(" \u591A\u9009\u53EF\u8F93\u5165\u6A21\u5F0F\u7684\u8F93\u5165\u6846 "),
|
|
1469
|
+
_ctx.inputable && !_ctx.filterable && !_ctx.remoteMethod ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToInput), {
|
|
1470
|
+
key: 0,
|
|
1471
|
+
ref_key: "input",
|
|
1472
|
+
ref: input,
|
|
1473
|
+
modelValue: multipleInputValue.value,
|
|
1474
|
+
"onUpdate:modelValue": ($event) => multipleInputValue.value = $event,
|
|
1475
|
+
"sp-chars": _ctx.spChars,
|
|
1476
|
+
disabled: vue.unref($phone),
|
|
1477
|
+
"prevent-focus": "",
|
|
1478
|
+
mode: "none",
|
|
1479
|
+
placeholder: vue.unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
|
|
1480
|
+
onFocus: multipleInputFocus,
|
|
1481
|
+
onBlur: multipleInputBlur
|
|
1482
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "disabled", "placeholder"])) : vue.createCommentVNode("v-if", true),
|
|
1483
|
+
vue.createCommentVNode(" \u591A\u9009\u53EF\u8FC7\u6EE4\u6A21\u5F0F filterable = true \u6216 \u8FDC\u7A0B\u641C\u7D22\u6A21\u5F0F remoteMethod \u5B58\u5728\u7684\u8F93\u5165\u6846 "),
|
|
1484
|
+
_ctx.filterable || _ctx.remoteMethod ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToInput), {
|
|
1485
|
+
key: 1,
|
|
1486
|
+
ref_key: "filter",
|
|
1487
|
+
ref: filter,
|
|
1488
|
+
modelValue: multipleFilterValue.value,
|
|
1489
|
+
"onUpdate:modelValue": ($event) => multipleFilterValue.value = $event,
|
|
1490
|
+
"sp-chars": _ctx.inputable ? _ctx.spChars : false,
|
|
1491
|
+
disabled: vue.unref($phone),
|
|
1492
|
+
"prevent-focus": "",
|
|
1493
|
+
mode: "none",
|
|
1494
|
+
placeholder: vue.unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
|
|
1495
|
+
onFocus: multipleFilterFocus,
|
|
1496
|
+
onBlur: multipleFilterBlur
|
|
1497
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "disabled", "placeholder"])) : vue.createCommentVNode("v-if", true),
|
|
1498
|
+
vue.createCommentVNode(" \u591A\u9009\u81EA\u5B9A\u4E49\u6570\u636E\u8BBE\u7F6E\u6A21\u5F0F\u7684\u8F93\u5165\u6846 "),
|
|
1499
|
+
_ctx.setDataFn ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToInput), {
|
|
1500
|
+
key: 2,
|
|
1501
|
+
ref_key: "filter",
|
|
1502
|
+
ref: filter,
|
|
1503
|
+
modelValue: setDataInputValue.value,
|
|
1504
|
+
"onUpdate:modelValue": ($event) => setDataInputValue.value = $event,
|
|
1505
|
+
"sp-chars": _ctx.inputable ? _ctx.spChars : false,
|
|
1506
|
+
"prevent-focus": "",
|
|
1507
|
+
mode: "none",
|
|
1508
|
+
placeholder: vue.unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
|
|
1509
|
+
onFocus: multipleFilterFocus,
|
|
1510
|
+
onBlur: multipleFilterBlur
|
|
1511
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "placeholder"])) : vue.createCommentVNode("v-if", true)
|
|
1512
|
+
])) : vue.createCommentVNode("v-if", true)
|
|
1513
|
+
],
|
|
1514
|
+
2
|
|
1515
|
+
/* CLASS */
|
|
1516
|
+
)
|
|
1349
1517
|
],
|
|
1350
1518
|
2112
|
|
1351
1519
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
@@ -1358,6 +1526,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
1358
1526
|
64
|
|
1359
1527
|
/* STABLE_FRAGMENT */
|
|
1360
1528
|
)),
|
|
1529
|
+
vue.createCommentVNode(" \u6E05\u9664\u56FE\u6807 "),
|
|
1530
|
+
showClearIcon.value ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ToIcon), {
|
|
1531
|
+
key: 3,
|
|
1532
|
+
class: "to-select-clear",
|
|
1533
|
+
link: "",
|
|
1534
|
+
value: "close",
|
|
1535
|
+
onClick: vue.withModifiers(clearClick, ["stop"])
|
|
1536
|
+
})) : vue.createCommentVNode("v-if", true),
|
|
1361
1537
|
vue.createCommentVNode(" \u4E0B\u62C9\u7BAD\u5934\u56FE\u6807 "),
|
|
1362
1538
|
vue.createElementVNode(
|
|
1363
1539
|
"span",
|