@touchvue/ui 1.0.0-beta.13 → 1.0.0-beta.15

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.
Files changed (46) hide show
  1. package/es/components/tab/src/tab.vue.d.ts +4 -0
  2. package/es/packages/components/cascader/src/cascader.vue2.mjs +1 -1
  3. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  4. package/es/packages/components/icon/index.mjs +3 -3
  5. package/es/packages/components/icon/index.mjs.map +1 -1
  6. package/es/packages/components/icon/src/icon.vue.mjs +2 -2
  7. package/es/packages/components/input/src/input.vue2.mjs +3 -3
  8. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  9. package/es/packages/components/page/src/page.vue2.mjs +12 -13
  10. package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
  11. package/es/packages/components/segment/src/segment.vue.mjs +7 -13
  12. package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
  13. package/es/packages/components/select/src/select.vue2.mjs +0 -6
  14. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  15. package/es/packages/components/tab/src/tab.vue2.mjs +8 -1
  16. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  17. package/es/packages/components/table/src/table.vue2.mjs +3 -8
  18. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  19. package/es/packages/components/tip/src/tip.vue2.mjs +6 -6
  20. package/es/packages/components/tip/src/tip.vue2.mjs.map +1 -1
  21. package/es/packages/components/upload/src/upload.vue2.mjs +10 -7
  22. package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
  23. package/lib/components/tab/src/tab.vue.d.ts +4 -0
  24. package/lib/packages/components/cascader/src/cascader.vue2.js +1 -1
  25. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  26. package/lib/packages/components/icon/src/icon.vue.js +2 -2
  27. package/lib/packages/components/input/src/input.vue2.js +3 -3
  28. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  29. package/lib/packages/components/page/src/page.vue2.js +12 -13
  30. package/lib/packages/components/page/src/page.vue2.js.map +1 -1
  31. package/lib/packages/components/segment/src/segment.vue.js +6 -12
  32. package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
  33. package/lib/packages/components/select/src/select.vue2.js +0 -6
  34. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  35. package/lib/packages/components/tab/src/tab.vue2.js +8 -1
  36. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  37. package/lib/packages/components/table/src/table.vue2.js +3 -8
  38. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  39. package/lib/packages/components/tip/src/tip.vue2.js +5 -5
  40. package/lib/packages/components/tip/src/tip.vue2.js.map +1 -1
  41. package/lib/packages/components/upload/src/upload.vue2.js +10 -7
  42. package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
  43. package/package.json +1 -1
  44. package/theme/components/index.css +253 -168
  45. package/theme/index.css +253 -168
  46. package/theme/skin/default.css +253 -168
@@ -1 +1 @@
1
- {"version":3,"file":"select.vue2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToSelect',\n\tcomponentName: 'ToSelect'\n});\n</script>\n<template>\n\t<!-- 选择器主容器 -->\n\t<div :id=\"id\" ref=\"$el\" v-tip=\"changed ? t('to.common.originalValue', getLabel(valueStore[0])) : ''\" class=\"to-select\" :class=\"setClass\" :style=\"setStyle\" :tabindex=\"tabindex\" @mousedown=\"layerMousedown\" @focus=\"focus\" @blur=\"blur\" @keyup.enter=\"enter\" @keyup.esc=\"closeLayer\" @click=\"click\">\n\t\t<div ref=\"trigger\" class=\"to-select-el\">\n\t\t\t<!-- 表单验证元素2(隐藏) -->\n\t\t\t<span v-if=\"verifiable && (rule || required || ToFormItem?.required)\" v-show=\"false\" :trim=\"trim\" :req=\"validateRequired\" class=\"to-validate\" :desc=\"validateDesc\" :rule=\"rule\" :value=\"validateValue\"></span>\n\n\t\t\t<!-- 前缀插槽 -->\n\t\t\t<span v-if=\"$slots.prefix\" class=\"to-select-prefix\">\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t</span>\n\n\t\t\t<!-- 前缀文本 -->\n\t\t\t<span v-if=\"prefix\" class=\"to-select-prefix-text\">\n\t\t\t\t<span>{{ prefix }}</span>\n\t\t\t</span>\n\n\t\t\t<!-- 选择器内容区域 -->\n\t\t\t<span ref=\"optionLayerTrigger\" class=\"to-select-content\">\n\t\t\t\t<!-- 前缀图标 -->\n\t\t\t\t<ToIcon v-if=\"icon\" :value=\"icon\" mode=\"none\" class=\"to-select-icon\"></ToIcon>\n\n\t\t\t\t<!-- 原生select模式 -->\n\t\t\t\t<template v-if=\"native\">\n\t\t\t\t\t<span class=\"to-select-box\">\n\t\t\t\t\t\t<select ref=\"selector\" v-model=\"iValue\">\n\t\t\t\t\t\t\t<option v-if=\"clearable\" value=\"\">{{ placeholder }}</option>\n\t\t\t\t\t\t\t<option v-for=\"(item, index) in options\" :key=\"index\" :value=\"item[iValueText]\">\n\t\t\t\t\t\t\t\t{{ item[iLabelText] }}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</span>\n\t\t\t\t</template>\n\n\t\t\t\t<!-- 自定义模拟选择器 -->\n\t\t\t\t<template v-else>\n\t\t\t\t\t<!-- 单选模式 -->\n\t\t\t\t\t<template v-if=\"!multiple\">\n\t\t\t\t\t\t<!-- 单选显示值(非输入模式或手机端) -->\n\t\t\t\t\t\t<span v-if=\"(!inputable && !filterable && !setDataFn) || $phone\" class=\"to-select-box\">\n\t\t\t\t\t\t\t<template v-if=\"(selected as any)[iLabelText]\">\n\t\t\t\t\t\t\t\t{{ (selected as any)[iLabelText] }}\n\t\t\t\t\t\t\t\t<template v-if=\"unit\">{{ unit }}</template>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-else>{{ placeholder }}</template>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<!-- 单选输入框区域 -->\n\t\t\t\t\t\t<span v-else class=\"to-select-input\">\n\t\t\t\t\t\t\t<!-- 可输入模式 inputable = true filterable = false 的输入框 -->\n\t\t\t\t\t\t\t<to-input v-if=\"inputable && !filterable && !setDataFn\" ref=\"input\" v-model=\"inputValue\" :sp-chars=\"spChars\" :tabindex=\"tabindex\" :clearable=\"clearable\" prevent-focus width=\"full\" mode=\"none\" :placeholder=\"placeholder\" @focus=\"inputFocus\" @keyup=\"inputInput\" @blur=\"inputBlur\"></to-input>\n\t\t\t\t\t\t\t<!-- 可过滤模式 filterable = true 的输入框 -->\n\t\t\t\t\t\t\t<to-input v-if=\"filterable\" ref=\"filter\" v-model=\"filterValue\" :focus-when-clear=\"focusWhenClear\" :sp-chars=\"inputable ? spChars : false\" :tabindex=\"tabindex\" :clearable=\"clearable\" prevent-focus width=\"full\" mode=\"none\" :placeholder=\"placeholder\" @clear=\"filterClear\" @focus=\"filterFocus\" @keyup=\"filterInput\" @blur=\"filterBlur\"></to-input>\n\t\t\t\t\t\t\t<!-- 自定义数据设置模式的输入框 -->\n\t\t\t\t\t\t\t<to-input v-if=\"setDataFn\" v-model=\"setDataInputValue\" :sp-chars=\"inputable ? spChars : false\" :tabindex=\"tabindex\" :clearable=\"clearable\" prevent-focus width=\"full\" mode=\"none\" :placeholder=\"placeholder\" @clear=\"filterClear\" @focus=\"filterFocus\" @keyup=\"filterInput\" @blur=\"filterBlur\"></to-input>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<!-- 多选模式 -->\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<!-- 多选占位符(无选中项且非输入模式时显示) -->\n\t\t\t\t\t\t<span v-if=\"(selected as any[]).filter(item => !item.hide).length === 0 && !inputable && !filterable && !setDataFn\" class=\"to-select-box\">\n\t\t\t\t\t\t\t{{ placeholder }}\n\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t<!-- 全选状态显示文本 -->\n\t\t\t\t\t\t<span v-else-if=\"isAll && useAllText\" class=\"to-select-box\">{{ allText }}</span>\n\n\t\t\t\t\t\t<!-- 多选标签容器 -->\n\t\t\t\t\t\t<span v-else class=\"to-select-tag\">\n\t\t\t\t\t\t\t<!-- 已选中项的标签显示 -->\n\t\t\t\t\t\t\t<template v-if=\"(selected as any[]).length > 0 && !(isAll && useAllText)\">\n\t\t\t\t\t\t\t\t<template v-for=\"(item, index) in selected as any[]\">\n\t\t\t\t\t\t\t\t\t<to-tag v-if=\"!item.hide\" :key=\"index\" class=\"to-select-item\" :removable=\"removable && !disabled\" @remove=\"removeTag(item)\">\n\t\t\t\t\t\t\t\t\t\t{{ item[iLabelText] }}\n\t\t\t\t\t\t\t\t\t</to-tag>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<!-- 多选输入框区域(非手机端或手机端无选中项时显示) -->\n\t\t\t\t\t\t\t<template v-if=\"!$phone || ($phone && selected.length === 0)\">\n\t\t\t\t\t\t\t\t<!-- 多选可输入模式的输入框 -->\n\t\t\t\t\t\t\t\t<to-input v-if=\"inputable && !filterable\" ref=\"input\" v-model=\"multipleInputValue\" :sp-chars=\"spChars\" :disabled=\"$phone\" prevent-focus mode=\"none\" :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\" @focus=\"multipleInputFocus\" @blur=\"multipleInputBlur\"></to-input>\n\t\t\t\t\t\t\t\t<!-- 多选可过滤模式的输入框 -->\n\t\t\t\t\t\t\t\t<to-input v-if=\"filterable\" ref=\"filter\" v-model=\"multipleFilterValue\" :sp-chars=\"inputable ? spChars : false\" :disabled=\"$phone\" prevent-focus mode=\"none\" :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\" @focus=\"multipleFilterFocus\" @blur=\"multipleFilterBlur\"></to-input>\n\t\t\t\t\t\t\t\t<!-- 多选自定义数据设置模式的输入框 -->\n\t\t\t\t\t\t\t\t<to-input v-if=\"setDataFn\" ref=\"filter\" v-model=\"setDataInputValue\" :sp-chars=\"inputable ? spChars : false\" prevent-focus mode=\"none\" :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\" @focus=\"multipleFilterFocus\" @blur=\"multipleFilterBlur\"></to-input>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\t\t\t\t</template>\n\n\t\t\t\t<!-- 下拉箭头图标 -->\n\t\t\t\t<span class=\"to-select-arrow\" :class=\"`type-${arrowType}`\"></span>\n\t\t\t</span>\n\n\t\t\t<!-- 后缀文本 -->\n\t\t\t<span v-if=\"suffix\" class=\"to-select-suffix-text\">\n\t\t\t\t<span>{{ suffix }}</span>\n\t\t\t</span>\n\n\t\t\t<!-- 后缀插槽 -->\n\t\t\t<span v-if=\"$slots.suffix\" class=\"to-select-suffix\">\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</span>\n\n\t\t\t<!-- 错误提示信息 -->\n\t\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\n\t\t\t\t<template v-if=\"errorType === 'rule'\">\n\t\t\t\t\t<template v-if=\"inputable\">输入有误</template>\n\t\t\t\t\t<template v-else>选择有误</template>\n\t\t\t\t\t<ToIcon v-tip.danger=\"errorTip\" value=\"help\" color=\"danger\" mode=\"toast\" fillet=\"round\"></ToIcon>\n\t\t\t\t</template>\n\t\t\t\t<template v-else>不能为空</template>\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- 下拉选项面板 -->\n\t\t<ToFloat ref=\"optionLayer\" class=\"to-select-option\" :class=\"setOptionClass\" :align=\"optionDisplay === 'popup' ? 'center' : optionAlign\" :lazy=\"lazy\" :width=\"iOptionWidth\" :slide=\"layerSlide\" :position=\"layerPosition\" @closed=\"layerClose\" @mousedown=\"layerMousedown\">\n\t\t\t<!-- 数据加载状态 -->\n\t\t\t<ToPadding v-if=\"dataLoading\" v-align=\"'center'\" :value=\"2\">\n\t\t\t\t<ToIcon value=\"loading\"></ToIcon>\n\t\t\t</ToPadding>\n\n\t\t\t<!-- 选项内容区域 -->\n\t\t\t<template v-else>\n\t\t\t\t<!-- 选项数据插槽 -->\n\t\t\t\t<slot :data=\"options\">\n\t\t\t\t\t<!-- 弹窗模式 -->\n\t\t\t\t\t<to-grid v-if=\"optionDisplay === 'popup' || ((inputable || filterable) && $phone)\" style=\"width: 100%\" type=\"v\">\n\t\t\t\t\t\t<!-- 弹窗头部区域 -->\n\t\t\t\t\t\t<to-grid-item side width=\"full\">\n\t\t\t\t\t\t\t<!-- 弹窗标题栏 -->\n\t\t\t\t\t\t\t<ToPadding value=\"1\">\n\t\t\t\t\t\t\t\t<to-header level=\"0\" :title=\"validateDesc ? t('to.select.float.title', validateDesc) : t('to.select.float.titlePlaceholder', validateDesc)\" @back=\"closeLayer()\">\n\t\t\t\t\t\t\t\t\t<to-button fillet=\"normal\" icon=\"close\" mode=\"none\" color=\"primary\" @click=\"(clear(), closeLayer())\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.common.clear') }}\n\t\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t\t</to-header>\n\t\t\t\t\t\t\t</ToPadding>\n\n\t\t\t\t\t\t\t<!-- 弹窗内的搜索/输入区域 -->\n\t\t\t\t\t\t\t<ToPadding v-if=\"filterable || inputable\" position=\"side\" value=\"1\">\n\t\t\t\t\t\t\t\t<!-- 多选模式的弹窗输入区域 -->\n\t\t\t\t\t\t\t\t<template v-if=\"multiple\">\n\t\t\t\t\t\t\t\t\t<!-- 多选可输入模式 -->\n\t\t\t\t\t\t\t\t\t<template v-if=\"inputable\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"to-select to-select-arrow-none\" style=\"width: 100%\" :class=\"fillet === 'normal' ? 'to-input-fillet-normal' : ''\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"to-select-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"to-select-tag\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- 弹窗内已选标签显示 -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-if=\"(selected as any[]).length > 0 && !(isAll && useAllText)\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-for=\"(item, index) in selected as any[]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<to-tag v-if=\"!item.hide\" :key=\"index\" color=\"fg\" mode=\"plain\" :removable=\"removable && !disabled\" @remove=\"removeTag(item)\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ item[iLabelText] }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</to-tag>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- 弹窗内过滤输入框 -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t<to-input v-if=\"filterable\" ref=\"popupFilter\" v-model=\"multipleFilterValue\" :sp-chars=\"spChars\" prevent-focus mode=\"none\" :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<to-button icon=\"ok\" mode=\"none\" color=\"primary\" @click=\"enter\"></to-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</to-input>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- 弹窗内输入框 -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t<to-input v-else ref=\"popupInput\" v-model=\"multipleInputValue\" prevent-focus mode=\"none\" :placeholder=\"selected.filter(item => !item.hide).length > 0 ? '' : placeholder\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<to-button icon=\"ok\" mode=\"none\" color=\"primary\" @click=\"enter\"></to-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</to-input>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<!-- 多选仅过滤模式 -->\n\t\t\t\t\t\t\t\t\t<to-input v-else ref=\"popupFilter\" v-model=\"multipleFilterValue\" :sp-chars=\"false\" width=\"full\" prevent-focus :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\"></to-input>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<!-- 单选模式的弹窗输入区域 -->\n\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t<!-- 单选可输入模式 -->\n\t\t\t\t\t\t\t\t\t<to-input v-if=\"inputable\" ref=\"popupInput\" v-model=\"inputValue\" :sp-chars=\"spChars\" prevent-focus width=\"full\" :placeholder=\"placeholder\"></to-input>\n\t\t\t\t\t\t\t\t\t<!-- 单选过滤模式 -->\n\t\t\t\t\t\t\t\t\t<to-input v-else ref=\"popupFilter\" v-model=\"filterValue\" :sp-chars=\"false\" prevent-focus width=\"full\" placeholder=\"筛选\" @clear=\"filterClear\"></to-input>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</ToPadding>\n\t\t\t\t\t\t</to-grid-item>\n\n\t\t\t\t\t\t<!-- 弹窗选项内容区域 -->\n\t\t\t\t\t\t<to-grid-item width=\"full\">\n\t\t\t\t\t\t\t<!-- 无数据提示 -->\n\t\t\t\t\t\t\t<ToPadding v-if=\"nodata\" v-color=\"'info'\" :value=\"2\">\n\t\t\t\t\t\t\t\t{{ nodataText }}\n\t\t\t\t\t\t\t</ToPadding>\n\n\t\t\t\t\t\t\t<!-- 无匹配项提示 -->\n\t\t\t\t\t\t\t<ToPadding v-else-if=\"nomatch\" v-color=\"'info'\" :value=\"2\">\n\t\t\t\t\t\t\t\t{{ nomatchText }}\n\t\t\t\t\t\t\t</ToPadding>\n\n\t\t\t\t\t\t\t<!-- 选项列表滚动区域 -->\n\t\t\t\t\t\t\t<to-scroll v-if=\"!nodata && !nomatch\">\n\t\t\t\t\t\t\t\t<ToPadding :value=\"0.5\">\n\t\t\t\t\t\t\t\t\t<!-- 弹窗内多选选项 -->\n\t\t\t\t\t\t\t\t\t<template v-if=\"multiple\">\n\t\t\t\t\t\t\t\t\t\t<!-- 全选/反选按钮 -->\n\t\t\t\t\t\t\t\t\t\t<ToPadding :value=\"0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<to-button @click=\"selectAll\">{{ t('to.common.selectAll') }}</to-button>\n\t\t\t\t\t\t\t\t\t\t\t<to-button @click=\"deselect\">{{ t('to.common.Deselect') }}</to-button>\n\t\t\t\t\t\t\t\t\t\t</ToPadding>\n\n\t\t\t\t\t\t\t\t\t\t<!-- 多选选项网格 -->\n\t\t\t\t\t\t\t\t\t\t<to-grid :col=\"optionCol\">\n\t\t\t\t\t\t\t\t\t\t\t<to-grid-item v-for=\"item in options\" v-show=\"multipleFilter(item)\" :key=\"item[iValueText]\" v-dis=\"!!item.disabled\" width=\"full\">\n\t\t\t\t\t\t\t\t\t\t\t\t<to-checkbox\n\t\t\t\t\t\t\t\t\t\t\t\t\t:wrap=\"optionWrap\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:title=\"item[iLabelText]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:label=\"item[iLabelText]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"!!item.disabled\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:value=\"Boolean((selected as any[]).find(el => el[iValueText] === item[iValueText]))\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@change=\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn multipleItemChange(value, item)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t\t\t\t></to-checkbox>\n\t\t\t\t\t\t\t\t\t\t\t</to-grid-item>\n\t\t\t\t\t\t\t\t\t\t</to-grid>\n\t\t\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t\t\t<!-- 弹窗内单选选项 -->\n\t\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t\t<!-- 单选选项网格 -->\n\t\t\t\t\t\t\t\t\t\t<to-grid :col=\"optionCol\">\n\t\t\t\t\t\t\t\t\t\t\t<div v-for=\"item in options\" v-show=\"filterByValue(item)\" :key=\"item[iValueText]\" v-dis=\"!!item.disabled\" :class=\"{ 'is-on': (selected as any)[iValueText] === item[iValueText] }\" @click.stop=\"itemChange(item)\">\n\t\t\t\t\t\t\t\t\t\t\t\t<template v-if=\"item[iLabelText]\">{{ item[iLabelText] }}</template>\n\t\t\t\t\t\t\t\t\t\t\t\t<template v-else>{{ placeholder }}</template>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</to-grid>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</ToPadding>\n\t\t\t\t\t\t\t</to-scroll>\n\t\t\t\t\t\t</to-grid-item>\n\t\t\t\t\t\t<to-grid-item side width=\"full\">\n\t\t\t\t\t\t\t<to-submit width=\"full\" space=\"0\">\n\t\t\t\t\t\t\t\t<to-button v-size=\"'l'\" fillet=\"none\" color=\"primary\" mode=\"line\" @click=\"(phoneCloseLayer(), (iValue = ''))\">\n\t\t\t\t\t\t\t\t\t{{ t('to.common.clear') }}\n\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t\t<to-button v-size=\"'l'\" mode=\"fill\" color=\"primary\" fillet=\"none\" @click=\"phoneCloseLayer()\">\n\t\t\t\t\t\t\t\t\t{{ t('to.common.confirm') }}\n\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t</to-submit>\n\t\t\t\t\t\t</to-grid-item>\n\t\t\t\t\t</to-grid>\n\n\t\t\t\t\t<!-- 普通模式 -->\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<!-- 无数据提示 -->\n\t\t\t\t\t\t<div v-if=\"nodata\" class=\"to-select-option-tip\">\n\t\t\t\t\t\t\t{{ nodataText }}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- 无匹配提示 -->\n\t\t\t\t\t\t<div v-else-if=\"nomatch\" class=\"to-select-option-tip\">\n\t\t\t\t\t\t\t{{ nomatchText }}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- 普通下拉选项滚动区域 -->\n\t\t\t\t\t\t<to-scroll v-if=\"!nodata && !nomatch\">\n\t\t\t\t\t\t\t<!-- 多选选项 -->\n\t\t\t\t\t\t\t<template v-if=\"multiple\">\n\t\t\t\t\t\t\t\t<!-- 全选/反选按钮 -->\n\t\t\t\t\t\t\t\t<div class=\"to-select-option-fn\">\n\t\t\t\t\t\t\t\t\t<to-button class=\"to-select-option-button value-all\" @click=\"selectAll\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.common.selectAll') }}\n\t\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t\t\t<to-button class=\"to-select-option-button value-inverse\" @click=\"deselect\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.common.Deselect') }}\n\t\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<!-- 多选选项网格 -->\n\t\t\t\t\t\t\t\t<to-grid class=\"to-select-list is-multiple\" :col=\"optionCol\">\n\t\t\t\t\t\t\t\t\t<to-checkbox\n\t\t\t\t\t\t\t\t\t\tv-for=\"item in options\"\n\t\t\t\t\t\t\t\t\t\tv-show=\"multipleFilter(item)\"\n\t\t\t\t\t\t\t\t\t\t:key=\"item[iValueText]\"\n\t\t\t\t\t\t\t\t\t\tv-dis=\"!!item.disabled\"\n\t\t\t\t\t\t\t\t\t\tclass=\"to-select-check\"\n\t\t\t\t\t\t\t\t\t\t:wrap=\"optionWrap\"\n\t\t\t\t\t\t\t\t\t\t:title=\"item[iLabelText]\"\n\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t:label=\"item[iLabelText]\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"!!item.disabled\"\n\t\t\t\t\t\t\t\t\t\t:value=\"Boolean(selected.find(el => el[iValueText] === item[iValueText]))\"\n\t\t\t\t\t\t\t\t\t\t@change=\"\n\t\t\t\t\t\t\t\t\t\t\tvalue => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn multipleItemChange(value, item)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t></to-checkbox>\n\t\t\t\t\t\t\t\t</to-grid>\n\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t<!-- 单选选项 -->\n\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t<!-- 单选选项网格 -->\n\t\t\t\t\t\t\t\t<to-grid :col=\"optionCol\" class=\"to-select-list\">\n\t\t\t\t\t\t\t\t\t<div v-for=\"item in options\" v-show=\"filterByValue(item)\" :key=\"item[iValueText]\" v-dis=\"!!item.disabled\" class=\"to-select-option-item\" :class=\"{ 'is-on': (selected as any)[iValueText] === item[iValueText] }\" @click.stop=\"itemChange(item)\">\n\t\t\t\t\t\t\t\t\t\t<span v-if=\"item[iLabelText]\" class=\"to-select-option-item-text\">{{ item[iLabelText] }}</span>\n\t\t\t\t\t\t\t\t\t\t<span v-else class=\"to-select-option-item-text\">{{ placeholder }}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</to-grid>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</to-scroll>\n\t\t\t\t\t</template>\n\t\t\t\t</slot>\n\t\t\t</template>\n\t\t</ToFloat>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, inject, nextTick } from 'vue'\nimport { t } from '@touchvue/locale'\nimport { selectProps, SelectValueType, SelectOptionsData } from './select'\nimport { useSetSelectClassStyle, useSelectOptionData } from './hooks'\nimport { useDevice } from '@touchvue/hooks'\nimport { isString } from '@touchvue/utils'\nimport { ToIcon, ToPadding, ToCheckbox, ToGrid, ToGridItem, ToScroll, ToButton, ToFloat, ToInput, ToSubmit, ToTag, ToHeader } from '@touchvue/components'\nimport { vColor, vDis } from '@touchvue/directives'\n\n/**\n * 【组件初始化】\n * created → 初始化内部变量 → setOptions() → 设置选项数据 → setValue() → 设置选中状态\n * 【点击选项:单选】\n * 点击选项 → @click.stop=\"itemChange(item)\" → itemChange() → change() → emit('update:modelValue', value)\n * 【点击选项:多选】\n * 点击选项 → @change=\"multipleItemChange(value, item)\" → multipleItemChange() → change() → emit('update:modelValue', value)\n * 【异步数据加载调用链】\n * getData() → 配置API参数 → 缓存检查 → HTTP请求 → 数据解析 → setValue() → 触发事件\n * 【modelValue变化监听】\n * watch(props.modelValue) → iValue.value更新 → setValue() → 重新设置选中状态\n * 【内部值iValue变化监听】\n * watch(iValue) → setSelected() → 触发change和update:modelValue事件 → valueChange()\n * 【选项过滤】\n * 输入框输入 → filterValue/multipleFilterValue更新 → 模板中v-show=\"filterByValue(item)\" → 动态显示/隐藏选项\n * 【多选批量操作】\n * 全选按钮点击 → selectAll() → allChange() → change() → emit('update:modelValue')\n * 反选按钮点击 → Deselect() → reverseChange() → change() → emit('update:modelValue')\n */\n\n// 定义组件名称\n\n\n// 定义props\nconst props = defineProps(selectProps)\n\n// 定义emits\nconst emit = defineEmits<{\n\tchange: [value: SelectValueType, option: any]\n\tselect: [value: string | number]\n\t'update:modelValue': [value: SelectValueType]\n\t'option-loaded': [options: any[]]\n}>()\n// inject\nconst ToForm = inject('ToForm', null) as any\nconst ToFormItem = inject('ToFormItem', null) as any\nconst $TouchUI = inject('$TouchUI', {\n\tcolors: ['primary', 'success', 'warning', 'danger', 'info', 'default', 'dark']\n}) as any\n\nconst { isPhone } = useDevice()\nconst $phone = isPhone.value\n\n/* ================================ 核心数据状态 ================================ */\n// 组件核心值状态\n/**\n * 当前值\n */\nconst iValue = ref<SelectValueType>(props.modelValue)\nconst valueStore = ref([])\nconst inited = ref(false)\n\n/* ================================ UI交互状态 ================================= */\n// 焦点状态\nconst focused = ref(false)\nconst blurByLayer = ref(false)\n\n// 弹层状态\nconst layerSlide = ref(false)\nconst layerPosition = ref('auto')\n\n// 组件状态\nconst disabled = ref(props.disabled)\nconst isChanging = ref(false)\n\n/* ================================ 输入状态 ================================ */\n// 输入框值\nconst filterValue = ref('')\nconst inputValue = ref('')\nconst multipleInputValue = ref('')\nconst multipleFilterValue = ref('')\nconst setDataInputValue = ref('')\n\n/* ================================ 加载状态 ================================ */\n// 数据加载状态\nconst dataLoading = ref(false)\n\n/* ================================ 验证状态 ================================ */\n// 错误提示状态\nconst errorTip = ref('')\nconst errorType = ref('rule')\n\n/* ================================ 配置状态 ================================ */\n// API配置\nconst iApiHeaders = ref({})\nconst iResPath = ref(props.resPath)\nconst iSuccessCode = ref(props.successCode)\nconst iApiParam = ref(props.apiParam)\nconst iApiLabel = ref(props.apiLabel)\nconst iErrorPath = ref(props.errorPath)\n\n// 显示配置\nconst iOptionWidth = ref(props.optionWidth)\nconst iLabelText = ref(props.labelText)\nconst iValueText = ref(props.valueText)\n\n/* ================================ DOM引用 ================================ */\n// DOM元素引用\nconst $el = ref(null)\nconst selector = ref(null)\nconst input = ref(null)\nconst filter = ref(null)\nconst optionLayer = ref(null)\nconst popupFilter = ref(null)\nconst popupInput = ref(null)\nconst trigger = ref(null)\n\n// const inputing = ref(false) // 未使用,已注释\n\n/* ================================ 选项数据状态 ================================ */\n// 选项数据\nconst options = ref<SelectOptionsData[]>([])\nconst anotherOptions = ref<SelectOptionsData[]>([])\n\n// 选中状态\nconst { selected } = useSelectOptionData({\n\tprops\n})\n\nconst filterByValue = (item: SelectOptionsData) => {\n\tif (!props.filterable) return true\n\tconst value = filterValue.value\n\tif (value === '') return true\n\treturn item[iLabelText.value].includes(value)\n}\n\nconst multipleFilter = (item: SelectOptionsData) => {\n\tif (!props.filterable) return true\n\tconst value = multipleFilterValue.value\n\tif (value === '') return true\n\treturn item[iLabelText.value].includes(value)\n}\n\nconst nomatch = computed(() => {\n\tlet nomatch = true\n\tlet value = props.multiple ? multipleFilterValue.value : filterValue.value\n\tif (value === '' || options.value.findIndex(option => option[iLabelText.value].includes(value)) > -1) {\n\t\tnomatch = false\n\t}\n\treturn nomatch\n})\n\nconst nodata = computed(() => {\n\treturn options.value.length === 0\n})\n\n// 选项数据处理方法\nconst setOptions = () => {\n\t// 同步选项\n\tif (props.data && props.data.length > 0) {\n\t\tsetData()\n\t}\n\n\t// 异步选项\n\tif (props.api) {\n\t\tgetData()\n\t}\n}\n\nconst setData = () => {\n\tif (props.data) {\n\t\tif (typeof props.data === 'string') {\n\t\t\t// 字符串模式传值(如::data=\"选项1, 选项2, 选项3\")\n\t\t\tlet arr = []\n\t\t\tfor (let i = 0; i < props.data.split(',').length; i++) {\n\t\t\t\tconst el = props.data.split(',')[i]\n\t\t\t\tlet obj = {}\n\t\t\t\tobj[iLabelText.value] = obj[iValueText.value] = el\n\t\t\t\tarr.push(obj)\n\t\t\t}\n\t\t\tif ($phone && props.filterable) {\n\t\t\t\toptions.value = arr.slice(0, 100)\n\t\t\t\tanotherOptions.value = arr.slice(100)\n\t\t\t} else {\n\t\t\t\toptions.value = arr\n\t\t\t}\n\t\t} else {\n\t\t\t// 如果是手机端,则先取前 100 项,再拼接后面的\n\t\t\tif ($phone && props.filterable) {\n\t\t\t\toptions.value = props.data.slice(0, 100)\n\t\t\t\tanotherOptions.value = props.data.slice(100)\n\t\t\t} else {\n\t\t\t\t// 对象数组模式传值\n\t\t\t\toptions.value = [...props.data]\n\t\t\t}\n\t\t\t// 如果设置了方法,则替换为方法\n\t\t\tif (typeof props.setLabelFn === 'function') {\n\t\t\t\toptions.value.forEach(item => {\n\t\t\t\t\titem.label = props.setLabelFn(item)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\t// 设置 selected\n\t\tsetValue()\n\t\tsetPlaceholder()\n\n\t\t// 触发选项加载完成事件\n\t\temit('option-loaded', options.value)\n\t}\n}\n\nconst getData = () => {\n\tif (props.api) {\n\t\t// 通过配置自动设置 labelText 与 valueText\n\t\tif ($TouchUI.staticDataApiConfig?.labelText && props.labelText === 'label') {\n\t\t\tiLabelText.value = $TouchUI.staticDataApiConfig.labelText\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.valueText && props.valueText === 'value') {\n\t\t\tiValueText.value = $TouchUI.staticDataApiConfig.valueText\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.resPath && !props.resPath) {\n\t\t\tiResPath.value = $TouchUI.staticDataApiConfig.resPath\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.apiParam && !props.apiParam) {\n\t\t\tiApiParam.value = $TouchUI.staticDataApiConfig.apiParam\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.apiHeaders && !props.apiHeaders) {\n\t\t\tiApiHeaders.value = $TouchUI.staticDataApiConfig.apiHeaders\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.apiLabel && !props.apiLabel) {\n\t\t\tiApiLabel.value = $TouchUI.staticDataApiConfig.apiLabel\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.errorPath && !props.errorPath) {\n\t\t\tiErrorPath.value = $TouchUI.staticDataApiConfig.errorPath\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.successCode && !props.successCode) {\n\t\t\tiSuccessCode.value = $TouchUI.staticDataApiConfig.successCode\n\t\t}\n\n\t\t// 从缓存中取数据,如果没有则异步获取\n\t\tif (sessionStorage.getItem('static.' + props.api)) {\n\t\t\toptions.value = JSON.parse(sessionStorage.getItem('static.' + props.api))\n\n\t\t\t// 如果是手机端,则先取前 100 项,再拼接后面的\n\t\t\tif ($phone && props.filterable) {\n\t\t\t\tanotherOptions.value = options.value.slice(100)\n\t\t\t\toptions.value = options.value.slice(0, 100)\n\t\t\t}\n\n\t\t\t// 设置 selected\n\t\t\tsetValue()\n\t\t\tsetPlaceholder()\n\t\t\temit('option-loaded', options.value)\n\t\t} else {\n\t\t\tdataLoading.value = true\n\n\t\t\tlet action = ''\n\t\t\tlet param = { ...iApiParam.value }\n\n\t\t\tif (iApiLabel.value && props.api) {\n\t\t\t\tObject.assign(param, { [iApiLabel.value]: props.api })\n\t\t\t}\n\n\t\t\tif (props.api.indexOf('http') > -1) {\n\t\t\t\taction = props.api\n\t\t\t} else {\n\t\t\t\tif ($TouchUI.staticDataApiConfig?.action && $TouchUI.staticDataApiConfig.action.indexOf('=') > -1 && $TouchUI.staticDataApiConfig.action.indexOf('?') > -1) {\n\t\t\t\t\t// 兼容 GET 格式的 POST 请求\n\t\t\t\t\taction = $TouchUI.staticDataApiConfig.action + props.api\n\t\t\t\t} else {\n\t\t\t\t\taction = $TouchUI.staticDataApiConfig?.action || props.api\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst requestOptions = {\n\t\t\t\tdata: param,\n\t\t\t\taction,\n\t\t\t\theaders: Object.assign({}, iApiHeaders.value),\n\t\t\t\tonSuccess: res => {\n\t\t\t\t\tdataLoading.value = false\n\n\t\t\t\t\tif (typeof res === 'string') {\n\t\t\t\t\t\tres = JSON.parse(res)\n\t\t\t\t\t}\n\n\t\t\t\t\t// 直接返回一个 select 所需要的 data 对象时,不需要任何解析\n\t\t\t\t\t// 如:[{name:'张三', id:0},{name:'李四', id:1}]\n\t\t\t\t\tif (Array.isArray(res)) {\n\t\t\t\t\t\toptions.value = res\n\t\t\t\t\t\tsessionStorage.setItem('static.' + props.api, JSON.stringify(res))\n\n\t\t\t\t\t\t// 如果是手机端,则先取前 100 项,再拼接后面的\n\t\t\t\t\t\tif ($phone && props.filterable) {\n\t\t\t\t\t\t\tanotherOptions.value = res.slice(100)\n\t\t\t\t\t\t\toptions.value = res.slice(0, 100)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// 设置 selected\n\t\t\t\t\t\tsetValue()\n\t\t\t\t\t\tsetPlaceholder()\n\t\t\t\t\t\temit('option-loaded', options.value)\n\t\t\t\t\t} else if (res.code === iSuccessCode.value) {\n\t\t\t\t\t\t// 按照 json 格式返回,需要根据配置路径进行解析\n\t\t\t\t\t\t// 如:{ code:'0', data:[{name:'张三', id:0},{name:'李四', id:1}]}\n\t\t\t\t\t\tlet data = res\n\t\t\t\t\t\tif (iResPath.value) {\n\t\t\t\t\t\t\tlet resPath = iResPath.value.split('/')\n\t\t\t\t\t\t\tresPath.forEach(el => {\n\t\t\t\t\t\t\t\tdata = data[el]\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions.value = data\n\t\t\t\t\t\tsessionStorage.setItem('static.' + props.api, JSON.stringify(data))\n\n\t\t\t\t\t\t// 如果是手机端,则先取前 100 项,再拼接后面的\n\t\t\t\t\t\tif ($phone && props.filterable) {\n\t\t\t\t\t\t\tanotherOptions.value = data.slice(100)\n\t\t\t\t\t\t\toptions.value = data.slice(0, 100)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// 设置 selected\n\t\t\t\t\t\tsetValue()\n\t\t\t\t\t\tsetPlaceholder()\n\t\t\t\t\t\temit('option-loaded', options.value)\n\t\t\t\t\t} else {\n\t\t\t\t\t\toptions.value = []\n\t\t\t\t\t\tconsole.error(t('to.select.tip.error.res', `select api(${props.api})`))\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonError: () => {\n\t\t\t\t\tdataLoading.value = false\n\t\t\t\t\tconsole.error(t('to.select.tip.error.api', `select api(${props.api}) `))\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst req = props.httpRequest(requestOptions)\n\t\t\tif (req && req.then) {\n\t\t\t\treq.then(requestOptions.onSuccess, requestOptions.onError)\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * 选项插入空选项“请选择”\n */\nconst setPlaceholder = () => {\n\tif (props.native) {\n\t\treturn\n\t}\n\t// 设置 placeholder\n\tif (!props.multiple && props.clearable && !props.inputable && !props.setDataFn && !props.filterable && (!props.optionDisplay || props.optionDisplay === 'float')) {\n\t\toptions.value.unshift({\n\t\t\t[iLabelText.value]: '',\n\t\t\t[iValueText.value]: ''\n\t\t})\n\t}\n}\n\nconst setValue = () => {\n\tif (props.multiple) {\n\t\tselected.value = []\n\t\tif (iValue.value) {\n\t\t\tconst arr = Array.isArray(iValue.value) ? iValue.value : iValue.value.toString().split(props.splitSymbol || ',')\n\t\t\tarr.forEach(item => {\n\t\t\t\tif (item && item.toString().trim()) {\n\t\t\t\t\tlet option = options.value.find(option => String(option[iValueText.value]) === String(item))\n\t\t\t\t\tif (option) {\n\t\t\t\t\t\tselected.value.push(option)\n\t\t\t\t\t} else if (props.inputable) {\n\t\t\t\t\t\t// 当输入一个不存在的值的时候,如果可自定义则显示,否则不显示\n\t\t\t\t\t\tselected.value.push({\n\t\t\t\t\t\t\t[iLabelText.value]: item,\n\t\t\t\t\t\t\t[iValueText.value]: item,\n\t\t\t\t\t\t\thide: false\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}\n\t} else {\n\t\tlet option = options.value.find(option => String(option[iValueText.value]) === String(iValue.value))\n\t\tif (option) {\n\t\t\tselected.value = option\n\t\t} else {\n\t\t\tif (iValue.value && props.inputable) {\n\t\t\t\tselected.value = {\n\t\t\t\t\t[iLabelText.value]: iValue.value,\n\t\t\t\t\t[iValueText.value]: iValue.value\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tselected.value = {\n\t\t\t\t\t[iLabelText.value]: '',\n\t\t\t\t\t[iValueText.value]: ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tinited.value = true\n}\n\n// 选项变更处理方法\nconst itemChange = option => {\n\tif (option.disabled) {\n\t\treturn\n\t}\n\tif (props.multiple) {\n\t\tmultipleItemChange(true, option)\n\t} else {\n\t\tchange(option[iValueText.value], option)\n\t\tcloseLayer()\n\t}\n\tnextTick(() => {\n\t\temit('select', option)\n\t})\n}\n\n// 选择全部\nconst selectAll = () => {\n\tallChange()\n}\n\n// 反选\nconst deselect = () => {\n\treverseChange()\n}\n\n/**\n * 多选选项变更处理方法\n * @param value 选中状态\n * @param item 选项\n */\nconst multipleItemChange = (value: boolean, item: SelectOptionsData) => {\n\tif (item && item.disabled) return\n\n\tlet arr = iValue.value ? iValue.value.toString().split(props.splitSymbol || ',') : []\n\tlet selectedOptions = [...selected.value]\n\tif (value) {\n\t\tif (arr.indexOf(item[iValueText.value]) === -1) {\n\t\t\tarr.push(item[iValueText.value])\n\t\t\tselectedOptions.push(item)\n\t\t} else {\n\t\t\tarr = removeItem(arr, item[iValueText.value])\n\t\t\tselectedOptions = selectedOptions.filter(option => option[iValueText.value] !== value)\n\t\t}\n\t} else {\n\t\tarr = removeItem(arr, item[iValueText.value])\n\t\tselectedOptions = selectedOptions.filter(option => option[iValueText.value] !== value)\n\t}\n\tchange(arr.join(props.splitSymbol || ','), selectedOptions)\n}\n\nconst resetLayer = () => {\n\tconst el = props.optionDisplay == 'popup' ? null : trigger.value\n\toptionLayer.value.set(el)\n}\n\nconst removeTag = (item: { [x: string]: any }) => {\n\tif (props.disabled || disabled.value) return\n\n\tlet arr = iValue.value.toString().split(props.splitSymbol || ',')\n\tarr = removeItem(arr, item[iValueText.value])\n\tlet selectedOptions = []\n\tselected.value.map(selectedItem => {\n\t\tif (selectedItem[iValueText.value] !== item[iValueText.value]) {\n\t\t\tselectedOptions.push(selectedItem)\n\t\t}\n\t})\n\tchange(arr.join(props.splitSymbol || ','), selectedOptions)\n}\n\n// 工具方法\nconst removeItem = (arr, value) => {\n\tif (typeof arr === 'string') {\n\t\tarr = arr.split(',')\n\t}\n\tlet index = arr.indexOf(value)\n\tif (index > -1) {\n\t\tarr.splice(index, 1)\n\t}\n\treturn arr\n}\n\n// 选项处理相关的 watch 监听器\nwatch(\n\t() => props.data,\n\t() => {\n\t\tsetOptions()\n\t}\n)\n\nwatch(\n\t() => props.api,\n\t() => {\n\t\tsetOptions()\n\t}\n)\n\n// 初始化layerSlide设置\nconst initLayerSlide = () => {\n\t// 弹出模式\n\tif ($phone) {\n\t\tlayerSlide.value = true\n\t\tlayerPosition.value = 'bottom'\n\t}\n\tif (props.optionDisplay === 'popup' || ($phone && (props.filterable || props.inputable))) {\n\t\tlayerSlide.value = true\n\t\tlayerPosition.value = 'right'\n\t\tif (!props.optionWidth) {\n\t\t\tiOptionWidth.value = '100%'\n\t\t}\n\t}\n}\n\nconst onCreated = () => {\n\t// 初始化内部变量\n\tiLabelText.value = props.labelText\n\tiValueText.value = props.valueText\n\tiResPath.value = props.resPath\n\tiSuccessCode.value = props.successCode\n\tiApiParam.value = props.apiParam\n\tiApiHeaders.value = props.apiHeaders\n\tiApiLabel.value = props.apiLabel\n\tiErrorPath.value = props.errorPath\n\tiOptionWidth.value = props.optionWidth\n\n\t// 设置选项数据\n\tsetOptions()\n\n\t// 初始化弹层设置\n\tinitLayerSlide()\n}\n\nonCreated()\n\nwatch(\n\t() => props.apiParam,\n\t() => {\n\t\tiApiParam.value = props.apiParam\n\t\tif (props.api) {\n\t\t\tgetData()\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.labelText,\n\tnewVal => {\n\t\tiLabelText.value = newVal\n\t\tsetValue()\n\t}\n)\n\nwatch(\n\t() => props.valueText,\n\tnewVal => {\n\t\tiValueText.value = newVal\n\t\tsetValue()\n\t}\n)\n\n/* ================================ 计算属性 ================================ */\n// 选项相关计算属性\nconst isAll = computed(() => {\n\tlet arr = []\n\toptions.value.map(item => {\n\t\t// 排除空的placeholder选项\n\t\tif (item[iValueText.value] !== '') {\n\t\t\tarr.push(item[iValueText.value])\n\t\t}\n\t})\n\tif (arr.sort().toString() === iValue.value.toString().split(',').sort().toString()) {\n\t\treturn true\n\t} else {\n\t\treturn false\n\t}\n})\n\n// 状态相关计算属性\nconst changed = computed(() => {\n\tif ((props.comparable || (ToForm && ToForm?.comparable)) && valueStore.value.length > 0 && iValue.value !== valueStore.value[0]) {\n\t\treturn true\n\t} else {\n\t\treturn false\n\t}\n})\n\n// 验证相关计算属性\nconst validateRequired = computed(() => {\n\tif (props.required) {\n\t\treturn 'true'\n\t} else if (ToFormItem && ToFormItem.required) {\n\t\treturn 'true'\n\t} else {\n\t\treturn 'false'\n\t}\n})\n\nconst validateDesc = computed(() => {\n\tif (props.desc) {\n\t\treturn props.desc\n\t} else if (ToFormItem && ToFormItem.label) {\n\t\treturn ToFormItem.label\n\t} else {\n\t\treturn ''\n\t}\n})\n\nconst validateValue = computed(() => {\n\tif (props.multiple) {\n\t\tif (selected.value.length > 0) {\n\t\t\treturn 'true'\n\t\t} else {\n\t\t\treturn ''\n\t\t}\n\t} else {\n\t\treturn selected.value[iValueText.value]\n\t}\n})\n\n/* ================================ 样式处理 ================================ */\nconst { setClass, setStyle } = useSetSelectClassStyle({\n\tprops,\n\tdisabled,\n\tselected,\n\tiValueText,\n\terrorTip,\n\tchanged,\n\tToForm\n})\n\nconst setOptionClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tfor (let i = 0; i < props.mode.split(' ').length; i++) {\n\t\t\tarr.push(`mode-${props.mode.split(' ')[i]}`)\n\t\t}\n\t}\n\treturn arr\n})\n\n/* ================================ 事件处理函数 ================================ */\n// 值变更事件\nconst change = (value, option) => {\n\tif (props.beforeChange) {\n\t\tlet result = props.beforeChange(value, option)\n\t\tif (result === false) {\n\t\t\treturn\n\t\t}\n\t}\n\tisChanging.value = true\n\tiValue.value = value\n\tsetValue()\n\temit('change', value, option)\n\temit('update:modelValue', value)\n\tnextTick(() => {\n\t\tisChanging.value = false\n\t})\n}\n\n// 选项面板控制\nconst optionLayerTrigger = ref(null)\n\n/**\n * 打开选项面板\n */\nconst openOptionLayer = () => {\n\tconst el = props.optionDisplay == 'popup' ? null : trigger.value\n\toptionLayer.value.toggle(el)\n}\n\nconst click = () => {\n\tif (!props.native && !(props.disabled || disabled.value)) {\n\t\ttoggleLayer()\n\t}\n}\n\nconst phoneCloseLayer = () => {\n\toptionLayer.value.close()\n\tif (props.filterable && $phone) {\n\t\toptions.value = options.value.slice(0, 100)\n\t}\n}\n\n// 弹层交互事件\nconst layerMousedown = () => {\n\tblurByLayer.value = true\n}\n\n// 焦点事件处理\nconst focus = () => {\n\terrorTip.value = ''\n\tfocused.value = true\n\t// layerSlide.value = true;\n}\n\nconst blur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst inputBlur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst inputFocus = () => {\n\tfocused.value = true\n\t// layerSlide.value = true;\n}\n\nconst filterBlur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst filterFocus = () => {\n\tfocused.value = true\n\t// layerSlide.value = true;\n}\n\nconst multipleInputBlur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst multipleInputFocus = () => {\n\tfocused.value = true\n}\n\nconst multipleFilterBlur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst multipleFilterFocus = () => {\n\tfocused.value = true\n}\n\n// 输入事件处理\nconst inputInput = (e: { keyCode: number }) => {\n\tif (e.keyCode === 13) {\n\t\tif (props.setDataFn) {\n\t\t\tprops.setDataFn(setDataInputValue.value, setDataLoading)\n\t\t}\n\t}\n\t// layerSlide.value = true;\n}\n\nconst filterInput = () => {\n\t// layerSlide.value = true;\n}\n\nconst filterClear = () => {\n\tiValue.value = ''\n}\n\nconst setDataLoading = loading => {\n\tdataLoading.value = loading\n}\n\n// 键盘事件处理\nconst enter = () => {\n\tif (!(props.multiple && props.inputable)) {\n\t\ttoggleLayer()\n\t} else {\n\t\t// 判断重复项\n\t\tlet value = props.filterable ? multipleFilterValue.value : multipleInputValue.value\n\t\tif (selected.value.find(item => item[iLabelText.value] === value) || selected.value.find(item => item[iValueText.value] === value)) {\n\t\t\terrorTip.value = t('to.select.tip.error.repetition')\n\t\t\terrorType.value = 'rule'\n\t\t\treturn\n\t\t}\n\t\t// 判断空项\n\t\tif (!value.trim()) {\n\t\t\treturn\n\t\t}\n\t\tconst newOption = {\n\t\t\t[iLabelText.value]: value,\n\t\t\t[iValueText.value]: value\n\t\t}\n\t\tif (props.beforeChange) {\n\t\t\tconst fn = props.beforeChange(newOption)\n\t\t\tif (fn && fn.then) {\n\t\t\t\tfn.then(() => {\n\t\t\t\t\tselected.value.push(newOption)\n\t\t\t\t}).catch(() => {})\n\t\t\t} else {\n\t\t\t\tif (fn) {\n\t\t\t\t\tselected.value.push(newOption)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tselected.value.push(newOption)\n\t\t}\n\t\tif (props.filterable) {\n\t\t\tmultipleFilterValue.value = ''\n\t\t} else {\n\t\t\tmultipleInputValue.value = ''\n\t\t}\n\t\tif ($phone) {\n\t\t\tif (props.filterable) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tpopupFilter.value?.focus()\n\t\t\t\t}, 500)\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tpopupInput.value?.focus()\n\t\t\t\t}, 500)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// 清除操作\nconst clear = () => {\n\tclearChange()\n}\n\nconst clearChange = () => {\n\tif (props.multiple) {\n\t\tchange('', [])\n\t} else {\n\t\tchange('', null)\n\t}\n\tif (props.focusWhenClear && props.filterable) {\n\t\tlayerSlide.value = true\n\t}\n}\n\n// 批量选择操作\nconst allChange = () => {\n\tlet arr = []\n\tlet selectedOptions = []\n\toptions.value.forEach(item => {\n\t\t// 排除空的placeholder选项和禁用项\n\t\tif (item[iValueText.value] !== '' && !item.disabled) {\n\t\t\tarr.push(item[iValueText.value])\n\t\t\tselectedOptions.push(item)\n\t\t}\n\t})\n\tchange(arr.join(props.splitSymbol || ','), selectedOptions)\n}\n\nconst reverseChange = () => {\n\tlet arr = []\n\tlet selectedOptions = []\n\tlet selectedArr = iValue.value ? iValue.value.toString().split(props.splitSymbol || ',') : []\n\toptions.value.forEach(item => {\n\t\t// 排除空的placeholder选项和禁用项,选择当前未选中的项\n\t\tif (item[iValueText.value] !== '' && !item.disabled && selectedArr.indexOf(item[iValueText.value].toString()) === -1) {\n\t\t\tarr.push(item[iValueText.value])\n\t\t\tselectedOptions.push(item)\n\t\t}\n\t})\n\tchange(arr.join(props.splitSymbol || ','), selectedOptions)\n}\n\n/* ================================ 监听器 ================================ */\n// selected监听器(从vue2迁移)\nwatch(\n\tselected,\n\tval => {\n\t\t// 调整弹层位置(如果弹层存在且显示)\n\t\tif (props.optionDisplay !== 'none' && optionLayer.value?.show) {\n\t\t\tnextTick(() => {\n\t\t\t\t// Vue3中使用optionLayer的调整方法\n\t\t\t\tif (optionLayer.value?.set && optionLayerTrigger.value) {\n\t\t\t\t\toptionLayer.value.set(optionLayerTrigger.value)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (props.multiple) {\n\t\t\tlet arr = []\n\t\t\tval.map(item => {\n\t\t\t\tarr.push(item[iValueText.value])\n\t\t\t})\n\t\t\tif (inited.value) {\n\t\t\t\tiValue.value = arr.join(props.splitSymbol || ',')\n\t\t\t}\n\t\t\tif (optionLayer.value) {\n\t\t\t\tresetLayer()\n\t\t\t}\n\t\t} else {\n\t\t\tif (inited.value) {\n\t\t\t\tisChanging.value = true // 避免同时给 inputable 的 input 设置 inputValue 的时候触发 change 事件\n\t\t\t\tiValue.value = String(val[iValueText.value] || '')\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tisChanging.value = false\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\n\t\tif (!inited.value) {\n\t\t\tif (Array.isArray(props.modelValue)) {\n\t\t\t\tiValue.value = props.modelValue.join(',')\n\t\t\t} else {\n\t\t\t\tiValue.value = props.modelValue\n\t\t\t}\n\t\t\tnextTick(() => {\n\t\t\t\tinited.value = true\n\t\t\t})\n\t\t}\n\t},\n\t{ deep: true }\n)\n\n// 输入值监听\nwatch(inputValue, () => {\n\tif (!isChanging.value) {\n\t\tiValue.value = inputValue.value\n\t}\n})\n\nwatch(filterValue, val => {\n\tif (props.inputable) {\n\t\tnextTick(() => {\n\t\t\tiValue.value = val\n\t\t})\n\t}\n})\n\nwatch(setDataInputValue, val => {\n\tif (props.setDataFn) {\n\t\tprops.setDataFn(val)\n\t}\n\tif (props.inputable) {\n\t\tnextTick(() => {\n\t\t\tiValue.value = val\n\t\t})\n\t}\n})\n\n// 核心值监听\nwatch(iValue, val => {\n\tsetSelected(val)\n\tlet finalVal: SelectValueType = val\n\tif (props.multiple && props.valueType === 'array' && isString(val)) {\n\t\tfinalVal = val ? String(val).split(',') : []\n\t}\n\temit('change', finalVal, selected.value)\n\temit('update:modelValue', val)\n\tif ($TouchUI) {\n\t\t// const detail = {\n\t\t// \tname: 'ToSelect',\n\t\t// \tvalue: val,\n\t\t// \tdesc: validateDesc.value,\n\t\t// \tselected: selected.value\n\t\t// }\n\t\t// $TouchUI.commitTouchReport(detail)\n\t}\n\tvalueChange(val)\n})\n\n// Props监听\nwatch(\n\t() => props.modelValue,\n\tnewVal => {\n\t\tif (!isChanging.value) {\n\t\t\tiValue.value = String(newVal || '')\n\t\t\tsetValue()\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\n// 配置相关监听\nwatch(\n\t() => props.apiHeaders,\n\t() => {\n\t\tiApiHeaders.value = props.apiHeaders\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.resPath,\n\tnewVal => {\n\t\tiResPath.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.successCode,\n\tnewVal => {\n\t\tiSuccessCode.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.apiLabel,\n\tnewVal => {\n\t\tiApiLabel.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.errorPath,\n\tnewVal => {\n\t\tiErrorPath.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.optionWidth,\n\tnewVal => {\n\t\tiOptionWidth.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.disabled,\n\tnewVal => {\n\t\tdisabled.value = newVal\n\t}\n)\n\n/* ================================ 工具方法 ================================ */\nconst getLabel = val => {\n\tconst obj = options.value.find(item => item[iValueText.value] === val)\n\tif (obj && obj[iLabelText.value]) {\n\t\treturn obj[iLabelText.value]\n\t}\n\treturn null\n}\n\n// 设置选中项方法(从vue2迁移)\nconst setSelected = (val: any) => {\n\tlet selectedData = JSON.parse(JSON.stringify(selected.value))\n\n\tif (!props.multiple) {\n\t\t// 单选模式\n\t\tif (options.value.findIndex(option => option[iValueText.value] === val) === -1) {\n\t\t\tselectedData = {\n\t\t\t\t[iLabelText.value]: val,\n\t\t\t\t[iValueText.value]: val\n\t\t\t}\n\t\t} else {\n\t\t\tselectedData = options.value.find(option => option[iValueText.value] === val)\n\t\t}\n\t} else {\n\t\t// 多选模式\n\t\tif (val === '') {\n\t\t\tselectedData = []\n\t\t} else {\n\t\t\tconst arr = Array.isArray(val) ? unique(val) : unique(val.split(props.splitSymbol || ','))\n\t\t\tlet selectedArr: any[] = []\n\t\t\tarr.map((item: string) => {\n\t\t\t\tif (item && item.trim()) {\n\t\t\t\t\tif (options.value.findIndex(option => String(option[iValueText.value]) === String(item)) === -1) {\n\t\t\t\t\t\tselectedArr.push({\n\t\t\t\t\t\t\t[iLabelText.value]: item,\n\t\t\t\t\t\t\t[iValueText.value]: item,\n\t\t\t\t\t\t\thide: !props.inputable // 当输入一个不存在的值的时候,如果可自定义则显示,否则不显示\n\t\t\t\t\t\t})\n\t\t\t\t\t} else {\n\t\t\t\t\t\toptions.value.map(option => {\n\t\t\t\t\t\t\tif (String(option[iValueText.value]) === String(item)) {\n\t\t\t\t\t\t\t\tselectedArr.push(option)\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})\n\t\t\tselectedData = selectedArr\n\t\t}\n\t}\n\n\tif (props.beforeChange) {\n\t\tconst fn = props.beforeChange(selectedData)\n\t\tif (fn && fn.then) {\n\t\t\tfn.then(() => {\n\t\t\t\tselected.value = selectedData\n\t\t\t}).catch(() => {})\n\t\t} else {\n\t\t\tif (fn) {\n\t\t\t\tselected.value = selectedData\n\t\t\t}\n\t\t}\n\t} else {\n\t\tselected.value = selectedData\n\t}\n}\n\n// 数组去重工具函数\nconst unique = arr => {\n\treturn [...new Set(arr)]\n}\n\nconst valueChange = val => {\n\tif (!props.multiple) {\n\t\tif (props.inputable) {\n\t\t\tinputValue.value = getLabel(val) || val\n\t\t}\n\t\tif (props.filterable && !props.inputable) {\n\t\t\tfilterValue.value = getLabel(val) || ''\n\t\t}\n\t\tif (props.filterable && props.inputable) {\n\t\t\tfilterValue.value = getLabel(val) || val\n\t\t}\n\t\tif (props.setDataFn && !props.inputable) {\n\t\t\tsetDataInputValue.value = getLabel(val) || ''\n\t\t}\n\t\tif (props.setDataFn && props.inputable) {\n\t\t\tsetDataInputValue.value = getLabel(val) || val\n\t\t}\n\t}\n}\n\n/* ================================ 弹层控制方法 ================================ */\nconst layerClose = () => {\n\tif (!props.multiple) {\n\t\tif (props.filterable && !props.inputable) {\n\t\t\tif (iValue.value) {\n\t\t\t\tconst label = getLabel(iValue.value)\n\t\t\t\tif (label) {\n\t\t\t\t\tfilterValue.value = label\n\t\t\t\t} else {\n\t\t\t\t\tfilterValue.value = ''\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfilterValue.value = ''\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (props.inputable) {\n\t\t\tmultipleInputValue.value = ''\n\t\t}\n\t\tif (props.filterable) {\n\t\t\tmultipleFilterValue.value = ''\n\t\t}\n\t}\n}\n\nconst closeLayer = () => {\n\toptionLayer.value.close()\n\tlayerClose()\n}\n\nconst toggleLayer = () => {\n\topenOptionLayer()\n}\n\n/* ============================ 对比方法 ========================================== */\n// 记录历史值,以便对比或者取值\nconst compare = () => {\n\tvalueStore.value.unshift(iValue.value)\n}\nconst setDisabled = (f: boolean) => {\n\tdisabled.value = f\n}\n// 撤销\nconst restore = () => {\n\tiValue.value = valueStore.value[0]\n\tvalueStore.value.splice(0, 1)\n}\n\n/* ================================ 组件暴露 ================================ */\ndefineExpose({\n\tcloseLayer,\n\tsetSelected,\n\tcompare,\n\tsetDisabled,\n\trestore,\n\tchanged,\n\terrorTip,\n\terrorType\n})\n</script>\n"],"names":["DO_defineComponent","nomatch","option","_a","_createCommentVNode","_createElementBlock","id","_normalizeClass","_unref","tabindex","_createElementVNode","verifiable","rule","required","trim","$slots","_renderSlot","prefix","icon","_createBlock","native","clearable","placeholder","_openBlock","_Fragment","_renderList","_toDisplayString","multiple","inputable","filterable","setDataFn","unit","spChars","focusWhenClear","useAllText","allText","removable","_createTextVNode","arrowType","suffix","_createVNode","optionDisplay","optionAlign","lazy","fillet","nodataText","nomatchText","optionCol","optionWrap","_vShow","_withModifiers"],"mappings":"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"}
1
+ {"version":3,"file":"select.vue2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToSelect',\n\tcomponentName: 'ToSelect'\n});\n</script>\n<template>\n\t<!-- 选择器主容器 -->\n\t<div :id=\"id\" ref=\"$el\" v-tip=\"changed ? t('to.common.originalValue', getLabel(valueStore[0])) : ''\" class=\"to-select\" :class=\"setClass\" :style=\"setStyle\" :tabindex=\"tabindex\" @mousedown=\"layerMousedown\" @focus=\"focus\" @blur=\"blur\" @keyup.enter=\"enter\" @keyup.esc=\"closeLayer\" @click=\"click\">\n\t\t<div ref=\"trigger\" class=\"to-select-el\">\n\t\t\t<!-- 表单验证元素2(隐藏) -->\n\t\t\t<span v-if=\"verifiable && (rule || required || ToFormItem?.required)\" v-show=\"false\" :trim=\"trim\" :req=\"validateRequired\" class=\"to-validate\" :desc=\"validateDesc\" :rule=\"rule\" :value=\"validateValue\"></span>\n\n\t\t\t<!-- 前缀插槽 -->\n\t\t\t<span v-if=\"$slots.prefix\" class=\"to-select-prefix\">\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t</span>\n\n\t\t\t<!-- 前缀文本 -->\n\t\t\t<span v-if=\"prefix\" class=\"to-select-prefix-text\">\n\t\t\t\t<span>{{ prefix }}</span>\n\t\t\t</span>\n\n\t\t\t<!-- 选择器内容区域 -->\n\t\t\t<span ref=\"optionLayerTrigger\" class=\"to-select-content\">\n\t\t\t\t<!-- 前缀图标 -->\n\t\t\t\t<ToIcon v-if=\"icon\" :value=\"icon\" mode=\"none\" class=\"to-select-icon\"></ToIcon>\n\n\t\t\t\t<!-- 原生select模式 -->\n\t\t\t\t<template v-if=\"native\">\n\t\t\t\t\t<span class=\"to-select-box\">\n\t\t\t\t\t\t<select ref=\"selector\" v-model=\"iValue\">\n\t\t\t\t\t\t\t<option v-if=\"clearable\" value=\"\">{{ placeholder }}</option>\n\t\t\t\t\t\t\t<option v-for=\"(item, index) in options\" :key=\"index\" :value=\"item[iValueText]\">\n\t\t\t\t\t\t\t\t{{ item[iLabelText] }}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</span>\n\t\t\t\t</template>\n\n\t\t\t\t<!-- 自定义模拟选择器 -->\n\t\t\t\t<template v-else>\n\t\t\t\t\t<!-- 单选模式 -->\n\t\t\t\t\t<template v-if=\"!multiple\">\n\t\t\t\t\t\t<!-- 单选显示值(非输入模式或手机端) -->\n\t\t\t\t\t\t<span v-if=\"(!inputable && !filterable && !setDataFn) || $phone\" class=\"to-select-box\">\n\t\t\t\t\t\t\t<template v-if=\"(selected as any)[iLabelText]\">\n\t\t\t\t\t\t\t\t{{ (selected as any)[iLabelText] }}\n\t\t\t\t\t\t\t\t<template v-if=\"unit\">{{ unit }}</template>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-else>{{ placeholder }}</template>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<!-- 单选输入框区域 -->\n\t\t\t\t\t\t<span v-else class=\"to-select-input\">\n\t\t\t\t\t\t\t<!-- 可输入模式 inputable = true filterable = false 的输入框 -->\n\t\t\t\t\t\t\t<to-input v-if=\"inputable && !filterable && !setDataFn\" ref=\"input\" v-model=\"inputValue\" :sp-chars=\"spChars\" :tabindex=\"tabindex\" :clearable=\"clearable\" prevent-focus width=\"full\" mode=\"none\" :placeholder=\"placeholder\" @focus=\"inputFocus\" @keyup=\"inputInput\" @blur=\"inputBlur\"></to-input>\n\t\t\t\t\t\t\t<!-- 可过滤模式 filterable = true 的输入框 -->\n\t\t\t\t\t\t\t<to-input v-if=\"filterable\" ref=\"filter\" v-model=\"filterValue\" :focus-when-clear=\"focusWhenClear\" :sp-chars=\"inputable ? spChars : false\" :tabindex=\"tabindex\" :clearable=\"clearable\" prevent-focus width=\"full\" mode=\"none\" :placeholder=\"placeholder\" @clear=\"filterClear\" @focus=\"filterFocus\" @keyup=\"filterInput\" @blur=\"filterBlur\"></to-input>\n\t\t\t\t\t\t\t<!-- 自定义数据设置模式的输入框 -->\n\t\t\t\t\t\t\t<to-input v-if=\"setDataFn\" v-model=\"setDataInputValue\" :sp-chars=\"inputable ? spChars : false\" :tabindex=\"tabindex\" :clearable=\"clearable\" prevent-focus width=\"full\" mode=\"none\" :placeholder=\"placeholder\" @clear=\"filterClear\" @focus=\"filterFocus\" @keyup=\"filterInput\" @blur=\"filterBlur\"></to-input>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<!-- 多选模式 -->\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<!-- 多选占位符(无选中项且非输入模式时显示) -->\n\t\t\t\t\t\t<span v-if=\"(selected as any[]).filter(item => !item.hide).length === 0 && !inputable && !filterable && !setDataFn\" class=\"to-select-box\">\n\t\t\t\t\t\t\t{{ placeholder }}\n\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t<!-- 全选状态显示文本 -->\n\t\t\t\t\t\t<span v-else-if=\"isAll && useAllText\" class=\"to-select-box\">{{ allText }}</span>\n\n\t\t\t\t\t\t<!-- 多选标签容器 -->\n\t\t\t\t\t\t<span v-else class=\"to-select-tag\">\n\t\t\t\t\t\t\t<!-- 已选中项的标签显示 -->\n\t\t\t\t\t\t\t<template v-if=\"(selected as any[]).length > 0 && !(isAll && useAllText)\">\n\t\t\t\t\t\t\t\t<template v-for=\"(item, index) in selected as any[]\">\n\t\t\t\t\t\t\t\t\t<to-tag v-if=\"!item.hide\" :key=\"index\" class=\"to-select-item\" :removable=\"removable && !disabled\" @remove=\"removeTag(item)\">\n\t\t\t\t\t\t\t\t\t\t{{ item[iLabelText] }}\n\t\t\t\t\t\t\t\t\t</to-tag>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<!-- 多选输入框区域(非手机端或手机端无选中项时显示) -->\n\t\t\t\t\t\t\t<template v-if=\"!$phone || ($phone && selected.length === 0)\">\n\t\t\t\t\t\t\t\t<!-- 多选可输入模式的输入框 -->\n\t\t\t\t\t\t\t\t<to-input v-if=\"inputable && !filterable\" ref=\"input\" v-model=\"multipleInputValue\" :sp-chars=\"spChars\" :disabled=\"$phone\" prevent-focus mode=\"none\" :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\" @focus=\"multipleInputFocus\" @blur=\"multipleInputBlur\"></to-input>\n\t\t\t\t\t\t\t\t<!-- 多选可过滤模式的输入框 -->\n\t\t\t\t\t\t\t\t<to-input v-if=\"filterable\" ref=\"filter\" v-model=\"multipleFilterValue\" :sp-chars=\"inputable ? spChars : false\" :disabled=\"$phone\" prevent-focus mode=\"none\" :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\" @focus=\"multipleFilterFocus\" @blur=\"multipleFilterBlur\"></to-input>\n\t\t\t\t\t\t\t\t<!-- 多选自定义数据设置模式的输入框 -->\n\t\t\t\t\t\t\t\t<to-input v-if=\"setDataFn\" ref=\"filter\" v-model=\"setDataInputValue\" :sp-chars=\"inputable ? spChars : false\" prevent-focus mode=\"none\" :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\" @focus=\"multipleFilterFocus\" @blur=\"multipleFilterBlur\"></to-input>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\t\t\t\t</template>\n\n\t\t\t\t<!-- 下拉箭头图标 -->\n\t\t\t\t<span class=\"to-select-arrow\" :class=\"`type-${arrowType}`\"></span>\n\t\t\t</span>\n\n\t\t\t<!-- 后缀文本 -->\n\t\t\t<span v-if=\"suffix\" class=\"to-select-suffix-text\">\n\t\t\t\t<span>{{ suffix }}</span>\n\t\t\t</span>\n\n\t\t\t<!-- 后缀插槽 -->\n\t\t\t<span v-if=\"$slots.suffix\" class=\"to-select-suffix\">\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</span>\n\n\t\t\t<!-- 错误提示信息 -->\n\t\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\n\t\t\t\t<template v-if=\"errorType === 'rule'\">\n\t\t\t\t\t<template v-if=\"inputable\">输入有误</template>\n\t\t\t\t\t<template v-else>选择有误</template>\n\t\t\t\t\t<ToIcon v-tip.danger=\"errorTip\" value=\"help\" color=\"danger\" mode=\"toast\" fillet=\"round\"></ToIcon>\n\t\t\t\t</template>\n\t\t\t\t<template v-else>不能为空</template>\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- 下拉选项面板 -->\n\t\t<ToFloat ref=\"optionLayer\" class=\"to-select-option\" :class=\"setOptionClass\" :align=\"optionDisplay === 'popup' ? 'center' : optionAlign\" :lazy=\"lazy\" :width=\"iOptionWidth\" :slide=\"layerSlide\" :position=\"layerPosition\" @closed=\"layerClose\" @mousedown=\"layerMousedown\">\n\t\t\t<!-- 数据加载状态 -->\n\t\t\t<ToPadding v-if=\"dataLoading\" v-align=\"'center'\" :value=\"2\">\n\t\t\t\t<ToIcon value=\"loading\"></ToIcon>\n\t\t\t</ToPadding>\n\n\t\t\t<!-- 选项内容区域 -->\n\t\t\t<template v-else>\n\t\t\t\t<!-- 选项数据插槽 -->\n\t\t\t\t<slot :data=\"options\">\n\t\t\t\t\t<!-- 弹窗模式 -->\n\t\t\t\t\t<to-grid v-if=\"optionDisplay === 'popup' || ((inputable || filterable) && $phone)\" style=\"width: 100%\" type=\"v\">\n\t\t\t\t\t\t<!-- 弹窗头部区域 -->\n\t\t\t\t\t\t<to-grid-item side width=\"full\">\n\t\t\t\t\t\t\t<!-- 弹窗标题栏 -->\n\t\t\t\t\t\t\t<ToPadding value=\"1\">\n\t\t\t\t\t\t\t\t<to-header level=\"0\" :title=\"validateDesc ? t('to.select.float.title', validateDesc) : t('to.select.float.titlePlaceholder', validateDesc)\" @back=\"closeLayer()\">\n\t\t\t\t\t\t\t\t\t<to-button fillet=\"normal\" icon=\"close\" mode=\"none\" color=\"primary\" @click=\"(clear(), closeLayer())\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.common.clear') }}\n\t\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t\t</to-header>\n\t\t\t\t\t\t\t</ToPadding>\n\n\t\t\t\t\t\t\t<!-- 弹窗内的搜索/输入区域 -->\n\t\t\t\t\t\t\t<ToPadding v-if=\"filterable || inputable\" position=\"side\" value=\"1\">\n\t\t\t\t\t\t\t\t<!-- 多选模式的弹窗输入区域 -->\n\t\t\t\t\t\t\t\t<template v-if=\"multiple\">\n\t\t\t\t\t\t\t\t\t<!-- 多选可输入模式 -->\n\t\t\t\t\t\t\t\t\t<template v-if=\"inputable\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"to-select to-select-arrow-none\" style=\"width: 100%\" :class=\"fillet === 'normal' ? 'to-input-fillet-normal' : ''\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"to-select-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"to-select-tag\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- 弹窗内已选标签显示 -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-if=\"(selected as any[]).length > 0 && !(isAll && useAllText)\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-for=\"(item, index) in selected as any[]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<to-tag v-if=\"!item.hide\" :key=\"index\" color=\"fg\" mode=\"plain\" :removable=\"removable && !disabled\" @remove=\"removeTag(item)\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ item[iLabelText] }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</to-tag>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- 弹窗内过滤输入框 -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t<to-input v-if=\"filterable\" ref=\"popupFilter\" v-model=\"multipleFilterValue\" :sp-chars=\"spChars\" prevent-focus mode=\"none\" :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<to-button icon=\"ok\" mode=\"none\" color=\"primary\" @click=\"enter\"></to-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</to-input>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- 弹窗内输入框 -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t<to-input v-else ref=\"popupInput\" v-model=\"multipleInputValue\" prevent-focus mode=\"none\" :placeholder=\"selected.filter(item => !item.hide).length > 0 ? '' : placeholder\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<to-button icon=\"ok\" mode=\"none\" color=\"primary\" @click=\"enter\"></to-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</to-input>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<!-- 多选仅过滤模式 -->\n\t\t\t\t\t\t\t\t\t<to-input v-else ref=\"popupFilter\" v-model=\"multipleFilterValue\" :sp-chars=\"false\" width=\"full\" prevent-focus :placeholder=\"(selected as any[]).filter(item => !item.hide).length > 0 ? '' : placeholder\"></to-input>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<!-- 单选模式的弹窗输入区域 -->\n\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t<!-- 单选可输入模式 -->\n\t\t\t\t\t\t\t\t\t<to-input v-if=\"inputable\" ref=\"popupInput\" v-model=\"inputValue\" :sp-chars=\"spChars\" prevent-focus width=\"full\" :placeholder=\"placeholder\"></to-input>\n\t\t\t\t\t\t\t\t\t<!-- 单选过滤模式 -->\n\t\t\t\t\t\t\t\t\t<to-input v-else ref=\"popupFilter\" v-model=\"filterValue\" :sp-chars=\"false\" prevent-focus width=\"full\" placeholder=\"筛选\" @clear=\"filterClear\"></to-input>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</ToPadding>\n\t\t\t\t\t\t</to-grid-item>\n\n\t\t\t\t\t\t<!-- 弹窗选项内容区域 -->\n\t\t\t\t\t\t<to-grid-item width=\"full\">\n\t\t\t\t\t\t\t<!-- 无数据提示 -->\n\t\t\t\t\t\t\t<ToPadding v-if=\"nodata\" v-color=\"'info'\" :value=\"2\">\n\t\t\t\t\t\t\t\t{{ nodataText }}\n\t\t\t\t\t\t\t</ToPadding>\n\n\t\t\t\t\t\t\t<!-- 无匹配项提示 -->\n\t\t\t\t\t\t\t<ToPadding v-else-if=\"nomatch\" v-color=\"'info'\" :value=\"2\">\n\t\t\t\t\t\t\t\t{{ nomatchText }}\n\t\t\t\t\t\t\t</ToPadding>\n\n\t\t\t\t\t\t\t<!-- 选项列表滚动区域 -->\n\t\t\t\t\t\t\t<to-scroll v-if=\"!nodata && !nomatch\">\n\t\t\t\t\t\t\t\t<ToPadding :value=\"0.5\">\n\t\t\t\t\t\t\t\t\t<!-- 弹窗内多选选项 -->\n\t\t\t\t\t\t\t\t\t<template v-if=\"multiple\">\n\t\t\t\t\t\t\t\t\t\t<!-- 全选/反选按钮 -->\n\t\t\t\t\t\t\t\t\t\t<ToPadding :value=\"0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<to-button @click=\"selectAll\">{{ t('to.common.selectAll') }}</to-button>\n\t\t\t\t\t\t\t\t\t\t\t<to-button @click=\"deselect\">{{ t('to.common.Deselect') }}</to-button>\n\t\t\t\t\t\t\t\t\t\t</ToPadding>\n\n\t\t\t\t\t\t\t\t\t\t<!-- 多选选项网格 -->\n\t\t\t\t\t\t\t\t\t\t<to-grid :col=\"optionCol\">\n\t\t\t\t\t\t\t\t\t\t\t<to-grid-item v-for=\"item in options\" v-show=\"multipleFilter(item)\" :key=\"item[iValueText]\" v-dis=\"!!item.disabled\" width=\"full\">\n\t\t\t\t\t\t\t\t\t\t\t\t<to-checkbox\n\t\t\t\t\t\t\t\t\t\t\t\t\t:wrap=\"optionWrap\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:title=\"item[iLabelText]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:label=\"item[iLabelText]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"!!item.disabled\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:value=\"Boolean((selected as any[]).find(el => el[iValueText] === item[iValueText]))\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@change=\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn multipleItemChange(value, item)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t\t\t\t></to-checkbox>\n\t\t\t\t\t\t\t\t\t\t\t</to-grid-item>\n\t\t\t\t\t\t\t\t\t\t</to-grid>\n\t\t\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t\t\t<!-- 弹窗内单选选项 -->\n\t\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t\t<!-- 单选选项网格 -->\n\t\t\t\t\t\t\t\t\t\t<to-grid :col=\"optionCol\">\n\t\t\t\t\t\t\t\t\t\t\t<div v-for=\"item in options\" v-show=\"filterByValue(item)\" :key=\"item[iValueText]\" v-dis=\"!!item.disabled\" :class=\"{ 'is-on': (selected as any)[iValueText] === item[iValueText] }\" @click.stop=\"itemChange(item)\">\n\t\t\t\t\t\t\t\t\t\t\t\t<template v-if=\"item[iLabelText]\">{{ item[iLabelText] }}</template>\n\t\t\t\t\t\t\t\t\t\t\t\t<template v-else>{{ placeholder }}</template>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</to-grid>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</ToPadding>\n\t\t\t\t\t\t\t</to-scroll>\n\t\t\t\t\t\t</to-grid-item>\n\t\t\t\t\t\t<to-grid-item side width=\"full\">\n\t\t\t\t\t\t\t<to-submit width=\"full\" space=\"0\">\n\t\t\t\t\t\t\t\t<to-button v-size=\"'l'\" fillet=\"none\" color=\"primary\" mode=\"line\" @click=\"(phoneCloseLayer(), (iValue = ''))\">\n\t\t\t\t\t\t\t\t\t{{ t('to.common.clear') }}\n\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t\t<to-button v-size=\"'l'\" mode=\"fill\" color=\"primary\" fillet=\"none\" @click=\"phoneCloseLayer()\">\n\t\t\t\t\t\t\t\t\t{{ t('to.common.confirm') }}\n\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t</to-submit>\n\t\t\t\t\t\t</to-grid-item>\n\t\t\t\t\t</to-grid>\n\n\t\t\t\t\t<!-- 普通模式 -->\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<!-- 无数据提示 -->\n\t\t\t\t\t\t<div v-if=\"nodata\" class=\"to-select-option-tip\">\n\t\t\t\t\t\t\t{{ nodataText }}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- 无匹配提示 -->\n\t\t\t\t\t\t<div v-else-if=\"nomatch\" class=\"to-select-option-tip\">\n\t\t\t\t\t\t\t{{ nomatchText }}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- 普通下拉选项滚动区域 -->\n\t\t\t\t\t\t<to-scroll v-if=\"!nodata && !nomatch\">\n\t\t\t\t\t\t\t<!-- 多选选项 -->\n\t\t\t\t\t\t\t<template v-if=\"multiple\">\n\t\t\t\t\t\t\t\t<!-- 全选/反选按钮 -->\n\t\t\t\t\t\t\t\t<div class=\"to-select-option-fn\">\n\t\t\t\t\t\t\t\t\t<to-button class=\"to-select-option-button value-all\" @click=\"selectAll\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.common.selectAll') }}\n\t\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t\t\t<to-button class=\"to-select-option-button value-inverse\" @click=\"deselect\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.common.Deselect') }}\n\t\t\t\t\t\t\t\t\t</to-button>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<!-- 多选选项网格 -->\n\t\t\t\t\t\t\t\t<to-grid class=\"to-select-list is-multiple\" :col=\"optionCol\">\n\t\t\t\t\t\t\t\t\t<to-checkbox\n\t\t\t\t\t\t\t\t\t\tv-for=\"item in options\"\n\t\t\t\t\t\t\t\t\t\tv-show=\"multipleFilter(item)\"\n\t\t\t\t\t\t\t\t\t\t:key=\"item[iValueText]\"\n\t\t\t\t\t\t\t\t\t\tv-dis=\"!!item.disabled\"\n\t\t\t\t\t\t\t\t\t\tclass=\"to-select-check\"\n\t\t\t\t\t\t\t\t\t\t:wrap=\"optionWrap\"\n\t\t\t\t\t\t\t\t\t\t:title=\"item[iLabelText]\"\n\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t:label=\"item[iLabelText]\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"!!item.disabled\"\n\t\t\t\t\t\t\t\t\t\t:value=\"Boolean(selected.find(el => el[iValueText] === item[iValueText]))\"\n\t\t\t\t\t\t\t\t\t\t@change=\"\n\t\t\t\t\t\t\t\t\t\t\tvalue => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn multipleItemChange(value, item)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t></to-checkbox>\n\t\t\t\t\t\t\t\t</to-grid>\n\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t<!-- 单选选项 -->\n\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t<!-- 单选选项网格 -->\n\t\t\t\t\t\t\t\t<to-grid :col=\"optionCol\" class=\"to-select-list\">\n\t\t\t\t\t\t\t\t\t<div v-for=\"item in options\" v-show=\"filterByValue(item)\" :key=\"item[iValueText]\" v-dis=\"!!item.disabled\" class=\"to-select-option-item\" :class=\"{ 'is-on': (selected as any)[iValueText] === item[iValueText] }\" @click.stop=\"itemChange(item)\">\n\t\t\t\t\t\t\t\t\t\t<span v-if=\"item[iLabelText]\" class=\"to-select-option-item-text\">{{ item[iLabelText] }}</span>\n\t\t\t\t\t\t\t\t\t\t<span v-else class=\"to-select-option-item-text\">{{ placeholder }}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</to-grid>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</to-scroll>\n\t\t\t\t\t</template>\n\t\t\t\t</slot>\n\t\t\t</template>\n\t\t</ToFloat>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, inject, nextTick } from 'vue'\nimport { t } from '@touchvue/locale'\nimport { selectProps, SelectValueType, SelectOptionsData } from './select'\nimport { useSetSelectClassStyle, useSelectOptionData } from './hooks'\nimport { useDevice } from '@touchvue/hooks'\n// import { isString } from '@touchvue/utils'\nimport { ToIcon, ToPadding, ToCheckbox, ToGrid, ToGridItem, ToScroll, ToButton, ToFloat, ToInput, ToSubmit, ToTag, ToHeader } from '@touchvue/components'\nimport { vColor, vDis } from '@touchvue/directives'\n\n/**\n * 【组件初始化】\n * created → 初始化内部变量 → setOptions() → 设置选项数据 → setValue() → 设置选中状态\n * 【点击选项:单选】\n * 点击选项 → @click.stop=\"itemChange(item)\" → itemChange() → change() → emit('update:modelValue', value)\n * 【点击选项:多选】\n * 点击选项 → @change=\"multipleItemChange(value, item)\" → multipleItemChange() → change() → emit('update:modelValue', value)\n * 【异步数据加载调用链】\n * getData() → 配置API参数 → 缓存检查 → HTTP请求 → 数据解析 → setValue() → 触发事件\n * 【modelValue变化监听】\n * watch(props.modelValue) → iValue.value更新 → setValue() → 重新设置选中状态\n * 【内部值iValue变化监听】\n * watch(iValue) → setSelected() → 触发change和update:modelValue事件 → valueChange()\n * 【选项过滤】\n * 输入框输入 → filterValue/multipleFilterValue更新 → 模板中v-show=\"filterByValue(item)\" → 动态显示/隐藏选项\n * 【多选批量操作】\n * 全选按钮点击 → selectAll() → allChange() → change() → emit('update:modelValue')\n * 反选按钮点击 → Deselect() → reverseChange() → change() → emit('update:modelValue')\n */\n\n// 定义组件名称\n\n\n// 定义props\nconst props = defineProps(selectProps)\n\n// 定义emits\nconst emit = defineEmits<{\n\tchange: [value: SelectValueType, option: any]\n\tselect: [value: string | number]\n\t'update:modelValue': [value: SelectValueType]\n\t'option-loaded': [options: any[]]\n}>()\n// inject\nconst ToForm = inject('ToForm', null) as any\nconst ToFormItem = inject('ToFormItem', null) as any\nconst $TouchUI = inject('$TouchUI', {\n\tcolors: ['primary', 'success', 'warning', 'danger', 'info', 'default', 'dark']\n}) as any\n\nconst { isPhone } = useDevice()\nconst $phone = isPhone.value\n\n/* ================================ 核心数据状态 ================================ */\n// 组件核心值状态\n/**\n * 当前值\n */\nconst iValue = ref<SelectValueType>(props.modelValue)\nconst valueStore = ref([])\nconst inited = ref(false)\n\n/* ================================ UI交互状态 ================================= */\n// 焦点状态\nconst focused = ref(false)\nconst blurByLayer = ref(false)\n\n// 弹层状态\nconst layerSlide = ref(false)\nconst layerPosition = ref('auto')\n\n// 组件状态\nconst disabled = ref(props.disabled)\nconst isChanging = ref(false)\n\n/* ================================ 输入状态 ================================ */\n// 输入框值\nconst filterValue = ref('')\nconst inputValue = ref('')\nconst multipleInputValue = ref('')\nconst multipleFilterValue = ref('')\nconst setDataInputValue = ref('')\n\n/* ================================ 加载状态 ================================ */\n// 数据加载状态\nconst dataLoading = ref(false)\n\n/* ================================ 验证状态 ================================ */\n// 错误提示状态\nconst errorTip = ref('')\nconst errorType = ref('rule')\n\n/* ================================ 配置状态 ================================ */\n// API配置\nconst iApiHeaders = ref({})\nconst iResPath = ref(props.resPath)\nconst iSuccessCode = ref(props.successCode)\nconst iApiParam = ref(props.apiParam)\nconst iApiLabel = ref(props.apiLabel)\nconst iErrorPath = ref(props.errorPath)\n\n// 显示配置\nconst iOptionWidth = ref(props.optionWidth)\nconst iLabelText = ref(props.labelText)\nconst iValueText = ref(props.valueText)\n\n/* ================================ DOM引用 ================================ */\n// DOM元素引用\nconst $el = ref(null)\nconst selector = ref(null)\nconst input = ref(null)\nconst filter = ref(null)\nconst optionLayer = ref(null)\nconst popupFilter = ref(null)\nconst popupInput = ref(null)\nconst trigger = ref(null)\n\n// const inputing = ref(false) // 未使用,已注释\n\n/* ================================ 选项数据状态 ================================ */\n// 选项数据\nconst options = ref<SelectOptionsData[]>([])\nconst anotherOptions = ref<SelectOptionsData[]>([])\n\n// 选中状态\nconst { selected } = useSelectOptionData({\n\tprops\n})\n\nconst filterByValue = (item: SelectOptionsData) => {\n\tif (!props.filterable) return true\n\tconst value = filterValue.value\n\tif (value === '') return true\n\treturn item[iLabelText.value].includes(value)\n}\n\nconst multipleFilter = (item: SelectOptionsData) => {\n\tif (!props.filterable) return true\n\tconst value = multipleFilterValue.value\n\tif (value === '') return true\n\treturn item[iLabelText.value].includes(value)\n}\n\nconst nomatch = computed(() => {\n\tlet nomatch = true\n\tlet value = props.multiple ? multipleFilterValue.value : filterValue.value\n\tif (value === '' || options.value.findIndex(option => option[iLabelText.value].includes(value)) > -1) {\n\t\tnomatch = false\n\t}\n\treturn nomatch\n})\n\nconst nodata = computed(() => {\n\treturn options.value.length === 0\n})\n\n// 选项数据处理方法\nconst setOptions = () => {\n\t// 同步选项\n\tif (props.data && props.data.length > 0) {\n\t\tsetData()\n\t}\n\n\t// 异步选项\n\tif (props.api) {\n\t\tgetData()\n\t}\n}\n\nconst setData = () => {\n\tif (props.data) {\n\t\tif (typeof props.data === 'string') {\n\t\t\t// 字符串模式传值(如::data=\"选项1, 选项2, 选项3\")\n\t\t\tlet arr = []\n\t\t\tfor (let i = 0; i < props.data.split(',').length; i++) {\n\t\t\t\tconst el = props.data.split(',')[i]\n\t\t\t\tlet obj = {}\n\t\t\t\tobj[iLabelText.value] = obj[iValueText.value] = el\n\t\t\t\tarr.push(obj)\n\t\t\t}\n\t\t\tif ($phone && props.filterable) {\n\t\t\t\toptions.value = arr.slice(0, 100)\n\t\t\t\tanotherOptions.value = arr.slice(100)\n\t\t\t} else {\n\t\t\t\toptions.value = arr\n\t\t\t}\n\t\t} else {\n\t\t\t// 如果是手机端,则先取前 100 项,再拼接后面的\n\t\t\tif ($phone && props.filterable) {\n\t\t\t\toptions.value = props.data.slice(0, 100)\n\t\t\t\tanotherOptions.value = props.data.slice(100)\n\t\t\t} else {\n\t\t\t\t// 对象数组模式传值\n\t\t\t\toptions.value = [...props.data]\n\t\t\t}\n\t\t\t// 如果设置了方法,则替换为方法\n\t\t\tif (typeof props.setLabelFn === 'function') {\n\t\t\t\toptions.value.forEach(item => {\n\t\t\t\t\titem.label = props.setLabelFn(item)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\t// 设置 selected\n\t\tsetValue()\n\t\tsetPlaceholder()\n\n\t\t// 触发选项加载完成事件\n\t\temit('option-loaded', options.value)\n\t}\n}\n\nconst getData = () => {\n\tif (props.api) {\n\t\t// 通过配置自动设置 labelText 与 valueText\n\t\tif ($TouchUI.staticDataApiConfig?.labelText && props.labelText === 'label') {\n\t\t\tiLabelText.value = $TouchUI.staticDataApiConfig.labelText\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.valueText && props.valueText === 'value') {\n\t\t\tiValueText.value = $TouchUI.staticDataApiConfig.valueText\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.resPath && !props.resPath) {\n\t\t\tiResPath.value = $TouchUI.staticDataApiConfig.resPath\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.apiParam && !props.apiParam) {\n\t\t\tiApiParam.value = $TouchUI.staticDataApiConfig.apiParam\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.apiHeaders && !props.apiHeaders) {\n\t\t\tiApiHeaders.value = $TouchUI.staticDataApiConfig.apiHeaders\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.apiLabel && !props.apiLabel) {\n\t\t\tiApiLabel.value = $TouchUI.staticDataApiConfig.apiLabel\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.errorPath && !props.errorPath) {\n\t\t\tiErrorPath.value = $TouchUI.staticDataApiConfig.errorPath\n\t\t}\n\t\tif ($TouchUI.staticDataApiConfig?.successCode && !props.successCode) {\n\t\t\tiSuccessCode.value = $TouchUI.staticDataApiConfig.successCode\n\t\t}\n\n\t\t// 从缓存中取数据,如果没有则异步获取\n\t\tif (sessionStorage.getItem('static.' + props.api)) {\n\t\t\toptions.value = JSON.parse(sessionStorage.getItem('static.' + props.api))\n\n\t\t\t// 如果是手机端,则先取前 100 项,再拼接后面的\n\t\t\tif ($phone && props.filterable) {\n\t\t\t\tanotherOptions.value = options.value.slice(100)\n\t\t\t\toptions.value = options.value.slice(0, 100)\n\t\t\t}\n\n\t\t\t// 设置 selected\n\t\t\tsetValue()\n\t\t\tsetPlaceholder()\n\t\t\temit('option-loaded', options.value)\n\t\t} else {\n\t\t\tdataLoading.value = true\n\n\t\t\tlet action = ''\n\t\t\tlet param = { ...iApiParam.value }\n\n\t\t\tif (iApiLabel.value && props.api) {\n\t\t\t\tObject.assign(param, { [iApiLabel.value]: props.api })\n\t\t\t}\n\n\t\t\tif (props.api.indexOf('http') > -1) {\n\t\t\t\taction = props.api\n\t\t\t} else {\n\t\t\t\tif ($TouchUI.staticDataApiConfig?.action && $TouchUI.staticDataApiConfig.action.indexOf('=') > -1 && $TouchUI.staticDataApiConfig.action.indexOf('?') > -1) {\n\t\t\t\t\t// 兼容 GET 格式的 POST 请求\n\t\t\t\t\taction = $TouchUI.staticDataApiConfig.action + props.api\n\t\t\t\t} else {\n\t\t\t\t\taction = $TouchUI.staticDataApiConfig?.action || props.api\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst requestOptions = {\n\t\t\t\tdata: param,\n\t\t\t\taction,\n\t\t\t\theaders: Object.assign({}, iApiHeaders.value),\n\t\t\t\tonSuccess: res => {\n\t\t\t\t\tdataLoading.value = false\n\n\t\t\t\t\tif (typeof res === 'string') {\n\t\t\t\t\t\tres = JSON.parse(res)\n\t\t\t\t\t}\n\n\t\t\t\t\t// 直接返回一个 select 所需要的 data 对象时,不需要任何解析\n\t\t\t\t\t// 如:[{name:'张三', id:0},{name:'李四', id:1}]\n\t\t\t\t\tif (Array.isArray(res)) {\n\t\t\t\t\t\toptions.value = res\n\t\t\t\t\t\tsessionStorage.setItem('static.' + props.api, JSON.stringify(res))\n\n\t\t\t\t\t\t// 如果是手机端,则先取前 100 项,再拼接后面的\n\t\t\t\t\t\tif ($phone && props.filterable) {\n\t\t\t\t\t\t\tanotherOptions.value = res.slice(100)\n\t\t\t\t\t\t\toptions.value = res.slice(0, 100)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// 设置 selected\n\t\t\t\t\t\tsetValue()\n\t\t\t\t\t\tsetPlaceholder()\n\t\t\t\t\t\temit('option-loaded', options.value)\n\t\t\t\t\t} else if (res.code === iSuccessCode.value) {\n\t\t\t\t\t\t// 按照 json 格式返回,需要根据配置路径进行解析\n\t\t\t\t\t\t// 如:{ code:'0', data:[{name:'张三', id:0},{name:'李四', id:1}]}\n\t\t\t\t\t\tlet data = res\n\t\t\t\t\t\tif (iResPath.value) {\n\t\t\t\t\t\t\tlet resPath = iResPath.value.split('/')\n\t\t\t\t\t\t\tresPath.forEach(el => {\n\t\t\t\t\t\t\t\tdata = data[el]\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions.value = data\n\t\t\t\t\t\tsessionStorage.setItem('static.' + props.api, JSON.stringify(data))\n\n\t\t\t\t\t\t// 如果是手机端,则先取前 100 项,再拼接后面的\n\t\t\t\t\t\tif ($phone && props.filterable) {\n\t\t\t\t\t\t\tanotherOptions.value = data.slice(100)\n\t\t\t\t\t\t\toptions.value = data.slice(0, 100)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// 设置 selected\n\t\t\t\t\t\tsetValue()\n\t\t\t\t\t\tsetPlaceholder()\n\t\t\t\t\t\temit('option-loaded', options.value)\n\t\t\t\t\t} else {\n\t\t\t\t\t\toptions.value = []\n\t\t\t\t\t\tconsole.error(t('to.select.tip.error.res', `select api(${props.api})`))\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonError: () => {\n\t\t\t\t\tdataLoading.value = false\n\t\t\t\t\tconsole.error(t('to.select.tip.error.api', `select api(${props.api}) `))\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst req = props.httpRequest(requestOptions)\n\t\t\tif (req && req.then) {\n\t\t\t\treq.then(requestOptions.onSuccess, requestOptions.onError)\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * 选项插入空选项“请选择”\n */\nconst setPlaceholder = () => {\n\tif (props.native) {\n\t\treturn\n\t}\n\t// 设置 placeholder\n\tif (!props.multiple && props.clearable && !props.inputable && !props.setDataFn && !props.filterable && (!props.optionDisplay || props.optionDisplay === 'float')) {\n\t\toptions.value.unshift({\n\t\t\t[iLabelText.value]: '',\n\t\t\t[iValueText.value]: ''\n\t\t})\n\t}\n}\n\nconst setValue = () => {\n\tif (props.multiple) {\n\t\tselected.value = []\n\t\tif (iValue.value) {\n\t\t\tconst arr = Array.isArray(iValue.value) ? iValue.value : iValue.value.toString().split(props.splitSymbol || ',')\n\t\t\tarr.forEach(item => {\n\t\t\t\tif (item && item.toString().trim()) {\n\t\t\t\t\tlet option = options.value.find(option => String(option[iValueText.value]) === String(item))\n\t\t\t\t\tif (option) {\n\t\t\t\t\t\tselected.value.push(option)\n\t\t\t\t\t} else if (props.inputable) {\n\t\t\t\t\t\t// 当输入一个不存在的值的时候,如果可自定义则显示,否则不显示\n\t\t\t\t\t\tselected.value.push({\n\t\t\t\t\t\t\t[iLabelText.value]: item,\n\t\t\t\t\t\t\t[iValueText.value]: item,\n\t\t\t\t\t\t\thide: false\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}\n\t} else {\n\t\tlet option = options.value.find(option => String(option[iValueText.value]) === String(iValue.value))\n\t\tif (option) {\n\t\t\tselected.value = option\n\t\t} else {\n\t\t\tif (iValue.value && props.inputable) {\n\t\t\t\tselected.value = {\n\t\t\t\t\t[iLabelText.value]: iValue.value,\n\t\t\t\t\t[iValueText.value]: iValue.value\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tselected.value = {\n\t\t\t\t\t[iLabelText.value]: '',\n\t\t\t\t\t[iValueText.value]: ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tinited.value = true\n}\n\n// 选项变更处理方法\nconst itemChange = option => {\n\tif (option.disabled) {\n\t\treturn\n\t}\n\tif (props.multiple) {\n\t\tmultipleItemChange(true, option)\n\t} else {\n\t\tchange(option[iValueText.value], option)\n\t\tcloseLayer()\n\t}\n\tnextTick(() => {\n\t\temit('select', option)\n\t})\n}\n\n// 选择全部\nconst selectAll = () => {\n\tallChange()\n}\n\n// 反选\nconst deselect = () => {\n\treverseChange()\n}\n\n/**\n * 多选选项变更处理方法\n * @param value 选中状态\n * @param item 选项\n */\nconst multipleItemChange = (value: boolean, item: SelectOptionsData) => {\n\tif (item && item.disabled) return\n\n\tlet arr = iValue.value ? iValue.value.toString().split(props.splitSymbol || ',') : []\n\tlet selectedOptions = [...selected.value]\n\tif (value) {\n\t\tif (arr.indexOf(item[iValueText.value]) === -1) {\n\t\t\tarr.push(item[iValueText.value])\n\t\t\tselectedOptions.push(item)\n\t\t} else {\n\t\t\tarr = removeItem(arr, item[iValueText.value])\n\t\t\tselectedOptions = selectedOptions.filter(option => option[iValueText.value] !== value)\n\t\t}\n\t} else {\n\t\tarr = removeItem(arr, item[iValueText.value])\n\t\tselectedOptions = selectedOptions.filter(option => option[iValueText.value] !== value)\n\t}\n\tchange(arr.join(props.splitSymbol || ','), selectedOptions)\n}\n\nconst resetLayer = () => {\n\tconst el = props.optionDisplay == 'popup' ? null : trigger.value\n\toptionLayer.value.set(el)\n}\n\nconst removeTag = (item: { [x: string]: any }) => {\n\tif (props.disabled || disabled.value) return\n\n\tlet arr = iValue.value.toString().split(props.splitSymbol || ',')\n\tarr = removeItem(arr, item[iValueText.value])\n\tlet selectedOptions = []\n\tselected.value.map(selectedItem => {\n\t\tif (selectedItem[iValueText.value] !== item[iValueText.value]) {\n\t\t\tselectedOptions.push(selectedItem)\n\t\t}\n\t})\n\tchange(arr.join(props.splitSymbol || ','), selectedOptions)\n}\n\n// 工具方法\nconst removeItem = (arr, value) => {\n\tif (typeof arr === 'string') {\n\t\tarr = arr.split(',')\n\t}\n\tlet index = arr.indexOf(value)\n\tif (index > -1) {\n\t\tarr.splice(index, 1)\n\t}\n\treturn arr\n}\n\n// 选项处理相关的 watch 监听器\nwatch(\n\t() => props.data,\n\t() => {\n\t\tsetOptions()\n\t}\n)\n\nwatch(\n\t() => props.api,\n\t() => {\n\t\tsetOptions()\n\t}\n)\n\n// 初始化layerSlide设置\nconst initLayerSlide = () => {\n\t// 弹出模式\n\tif ($phone) {\n\t\tlayerSlide.value = true\n\t\tlayerPosition.value = 'bottom'\n\t}\n\tif (props.optionDisplay === 'popup' || ($phone && (props.filterable || props.inputable))) {\n\t\tlayerSlide.value = true\n\t\tlayerPosition.value = 'right'\n\t\tif (!props.optionWidth) {\n\t\t\tiOptionWidth.value = '100%'\n\t\t}\n\t}\n}\n\nconst onCreated = () => {\n\t// 初始化内部变量\n\tiLabelText.value = props.labelText\n\tiValueText.value = props.valueText\n\tiResPath.value = props.resPath\n\tiSuccessCode.value = props.successCode\n\tiApiParam.value = props.apiParam\n\tiApiHeaders.value = props.apiHeaders\n\tiApiLabel.value = props.apiLabel\n\tiErrorPath.value = props.errorPath\n\tiOptionWidth.value = props.optionWidth\n\n\t// 设置选项数据\n\tsetOptions()\n\n\t// 初始化弹层设置\n\tinitLayerSlide()\n}\n\nonCreated()\n\nwatch(\n\t() => props.apiParam,\n\t() => {\n\t\tiApiParam.value = props.apiParam\n\t\tif (props.api) {\n\t\t\tgetData()\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.labelText,\n\tnewVal => {\n\t\tiLabelText.value = newVal\n\t\tsetValue()\n\t}\n)\n\nwatch(\n\t() => props.valueText,\n\tnewVal => {\n\t\tiValueText.value = newVal\n\t\tsetValue()\n\t}\n)\n\n/* ================================ 计算属性 ================================ */\n// 选项相关计算属性\nconst isAll = computed(() => {\n\tlet arr = []\n\toptions.value.map(item => {\n\t\t// 排除空的placeholder选项\n\t\tif (item[iValueText.value] !== '') {\n\t\t\tarr.push(item[iValueText.value])\n\t\t}\n\t})\n\tif (arr.sort().toString() === iValue.value.toString().split(',').sort().toString()) {\n\t\treturn true\n\t} else {\n\t\treturn false\n\t}\n})\n\n// 状态相关计算属性\nconst changed = computed(() => {\n\tif ((props.comparable || (ToForm && ToForm?.comparable)) && valueStore.value.length > 0 && iValue.value !== valueStore.value[0]) {\n\t\treturn true\n\t} else {\n\t\treturn false\n\t}\n})\n\n// 验证相关计算属性\nconst validateRequired = computed(() => {\n\tif (props.required) {\n\t\treturn 'true'\n\t} else if (ToFormItem && ToFormItem.required) {\n\t\treturn 'true'\n\t} else {\n\t\treturn 'false'\n\t}\n})\n\nconst validateDesc = computed(() => {\n\tif (props.desc) {\n\t\treturn props.desc\n\t} else if (ToFormItem && ToFormItem.label) {\n\t\treturn ToFormItem.label\n\t} else {\n\t\treturn ''\n\t}\n})\n\nconst validateValue = computed(() => {\n\tif (props.multiple) {\n\t\tif (selected.value.length > 0) {\n\t\t\treturn 'true'\n\t\t} else {\n\t\t\treturn ''\n\t\t}\n\t} else {\n\t\treturn selected.value[iValueText.value]\n\t}\n})\n\n/* ================================ 样式处理 ================================ */\nconst { setClass, setStyle } = useSetSelectClassStyle({\n\tprops,\n\tdisabled,\n\tselected,\n\tiValueText,\n\terrorTip,\n\tchanged,\n\tToForm\n})\n\nconst setOptionClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tfor (let i = 0; i < props.mode.split(' ').length; i++) {\n\t\t\tarr.push(`mode-${props.mode.split(' ')[i]}`)\n\t\t}\n\t}\n\treturn arr\n})\n\n/* ================================ 事件处理函数 ================================ */\n// 值变更事件\nconst change = (value, option) => {\n\tif (props.beforeChange) {\n\t\tlet result = props.beforeChange(value, option)\n\t\tif (result === false) {\n\t\t\treturn\n\t\t}\n\t}\n\tisChanging.value = true\n\tiValue.value = value\n\tsetValue()\n\temit('change', value, option)\n\temit('update:modelValue', value)\n\tnextTick(() => {\n\t\tisChanging.value = false\n\t})\n}\n\n// 选项面板控制\nconst optionLayerTrigger = ref(null)\n\n/**\n * 打开选项面板\n */\nconst openOptionLayer = () => {\n\tconst el = props.optionDisplay == 'popup' ? null : trigger.value\n\toptionLayer.value.toggle(el)\n}\n\nconst click = () => {\n\tif (!props.native && !(props.disabled || disabled.value)) {\n\t\ttoggleLayer()\n\t}\n}\n\nconst phoneCloseLayer = () => {\n\toptionLayer.value.close()\n\tif (props.filterable && $phone) {\n\t\toptions.value = options.value.slice(0, 100)\n\t}\n}\n\n// 弹层交互事件\nconst layerMousedown = () => {\n\tblurByLayer.value = true\n}\n\n// 焦点事件处理\nconst focus = () => {\n\terrorTip.value = ''\n\tfocused.value = true\n\t// layerSlide.value = true;\n}\n\nconst blur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst inputBlur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst inputFocus = () => {\n\tfocused.value = true\n\t// layerSlide.value = true;\n}\n\nconst filterBlur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst filterFocus = () => {\n\tfocused.value = true\n\t// layerSlide.value = true;\n}\n\nconst multipleInputBlur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst multipleInputFocus = () => {\n\tfocused.value = true\n}\n\nconst multipleFilterBlur = () => {\n\tif (!blurByLayer.value) {\n\t\tfocused.value = false\n\t\tlayerSlide.value = false\n\t\tlayerClose()\n\t}\n\tblurByLayer.value = false\n}\n\nconst multipleFilterFocus = () => {\n\tfocused.value = true\n}\n\n// 输入事件处理\nconst inputInput = (e: { keyCode: number }) => {\n\tif (e.keyCode === 13) {\n\t\tif (props.setDataFn) {\n\t\t\tprops.setDataFn(setDataInputValue.value, setDataLoading)\n\t\t}\n\t}\n\t// layerSlide.value = true;\n}\n\nconst filterInput = () => {\n\t// layerSlide.value = true;\n}\n\nconst filterClear = () => {\n\tiValue.value = ''\n}\n\nconst setDataLoading = loading => {\n\tdataLoading.value = loading\n}\n\n// 键盘事件处理\nconst enter = () => {\n\tif (!(props.multiple && props.inputable)) {\n\t\ttoggleLayer()\n\t} else {\n\t\t// 判断重复项\n\t\tlet value = props.filterable ? multipleFilterValue.value : multipleInputValue.value\n\t\tif (selected.value.find(item => item[iLabelText.value] === value) || selected.value.find(item => item[iValueText.value] === value)) {\n\t\t\terrorTip.value = t('to.select.tip.error.repetition')\n\t\t\terrorType.value = 'rule'\n\t\t\treturn\n\t\t}\n\t\t// 判断空项\n\t\tif (!value.trim()) {\n\t\t\treturn\n\t\t}\n\t\tconst newOption = {\n\t\t\t[iLabelText.value]: value,\n\t\t\t[iValueText.value]: value\n\t\t}\n\t\tif (props.beforeChange) {\n\t\t\tconst fn = props.beforeChange(newOption)\n\t\t\tif (fn && fn.then) {\n\t\t\t\tfn.then(() => {\n\t\t\t\t\tselected.value.push(newOption)\n\t\t\t\t}).catch(() => {})\n\t\t\t} else {\n\t\t\t\tif (fn) {\n\t\t\t\t\tselected.value.push(newOption)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tselected.value.push(newOption)\n\t\t}\n\t\tif (props.filterable) {\n\t\t\tmultipleFilterValue.value = ''\n\t\t} else {\n\t\t\tmultipleInputValue.value = ''\n\t\t}\n\t\tif ($phone) {\n\t\t\tif (props.filterable) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tpopupFilter.value?.focus()\n\t\t\t\t}, 500)\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tpopupInput.value?.focus()\n\t\t\t\t}, 500)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// 清除操作\nconst clear = () => {\n\tclearChange()\n}\n\nconst clearChange = () => {\n\tif (props.multiple) {\n\t\tchange('', [])\n\t} else {\n\t\tchange('', null)\n\t}\n\tif (props.focusWhenClear && props.filterable) {\n\t\tlayerSlide.value = true\n\t}\n}\n\n// 批量选择操作\nconst allChange = () => {\n\tlet arr = []\n\tlet selectedOptions = []\n\toptions.value.forEach(item => {\n\t\t// 排除空的placeholder选项和禁用项\n\t\tif (item[iValueText.value] !== '' && !item.disabled) {\n\t\t\tarr.push(item[iValueText.value])\n\t\t\tselectedOptions.push(item)\n\t\t}\n\t})\n\tchange(arr.join(props.splitSymbol || ','), selectedOptions)\n}\n\nconst reverseChange = () => {\n\tlet arr = []\n\tlet selectedOptions = []\n\tlet selectedArr = iValue.value ? iValue.value.toString().split(props.splitSymbol || ',') : []\n\toptions.value.forEach(item => {\n\t\t// 排除空的placeholder选项和禁用项,选择当前未选中的项\n\t\tif (item[iValueText.value] !== '' && !item.disabled && selectedArr.indexOf(item[iValueText.value].toString()) === -1) {\n\t\t\tarr.push(item[iValueText.value])\n\t\t\tselectedOptions.push(item)\n\t\t}\n\t})\n\tchange(arr.join(props.splitSymbol || ','), selectedOptions)\n}\n\n/* ================================ 监听器 ================================ */\n// selected监听器(从vue2迁移)\nwatch(\n\tselected,\n\tval => {\n\t\t// 调整弹层位置(如果弹层存在且显示)\n\t\tif (props.optionDisplay !== 'none' && optionLayer.value?.show) {\n\t\t\tnextTick(() => {\n\t\t\t\t// Vue3中使用optionLayer的调整方法\n\t\t\t\tif (optionLayer.value?.set && optionLayerTrigger.value) {\n\t\t\t\t\toptionLayer.value.set(optionLayerTrigger.value)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (props.multiple) {\n\t\t\tlet arr = []\n\t\t\tval.map(item => {\n\t\t\t\tarr.push(item[iValueText.value])\n\t\t\t})\n\t\t\tif (inited.value) {\n\t\t\t\tiValue.value = arr.join(props.splitSymbol || ',')\n\t\t\t}\n\t\t\tif (optionLayer.value) {\n\t\t\t\tresetLayer()\n\t\t\t}\n\t\t} else {\n\t\t\tif (inited.value) {\n\t\t\t\tisChanging.value = true // 避免同时给 inputable 的 input 设置 inputValue 的时候触发 change 事件\n\t\t\t\tiValue.value = String(val[iValueText.value] || '')\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tisChanging.value = false\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\n\t\tif (!inited.value) {\n\t\t\tif (Array.isArray(props.modelValue)) {\n\t\t\t\tiValue.value = props.modelValue.join(',')\n\t\t\t} else {\n\t\t\t\tiValue.value = props.modelValue\n\t\t\t}\n\t\t\tnextTick(() => {\n\t\t\t\tinited.value = true\n\t\t\t})\n\t\t}\n\t},\n\t{ deep: true }\n)\n\n// 输入值监听\nwatch(inputValue, () => {\n\tif (!isChanging.value) {\n\t\tiValue.value = inputValue.value\n\t}\n})\n\nwatch(filterValue, val => {\n\tif (props.inputable) {\n\t\tnextTick(() => {\n\t\t\tiValue.value = val\n\t\t})\n\t}\n})\n\nwatch(setDataInputValue, val => {\n\tif (props.setDataFn) {\n\t\tprops.setDataFn(val)\n\t}\n\tif (props.inputable) {\n\t\tnextTick(() => {\n\t\t\tiValue.value = val\n\t\t})\n\t}\n})\n\n// 核心值监听\nwatch(iValue, val => {\n\tsetSelected(val)\n\t// let finalVal: SelectValueType = val\n\t// if (props.multiple && props.valueType === 'array' && isString(val)) {\n\t// \tfinalVal = val ? String(val).split(',') : []\n\t// }\n\t// emit('change', finalVal, selected.value)\n\temit('update:modelValue', val)\n\tif ($TouchUI) {\n\t\t// const detail = {\n\t\t// \tname: 'ToSelect',\n\t\t// \tvalue: val,\n\t\t// \tdesc: validateDesc.value,\n\t\t// \tselected: selected.value\n\t\t// }\n\t\t// $TouchUI.commitTouchReport(detail)\n\t}\n\tvalueChange(val)\n})\n\n// Props监听\nwatch(\n\t() => props.modelValue,\n\tnewVal => {\n\t\tif (!isChanging.value) {\n\t\t\tiValue.value = String(newVal || '')\n\t\t\tsetValue()\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\n// 配置相关监听\nwatch(\n\t() => props.apiHeaders,\n\t() => {\n\t\tiApiHeaders.value = props.apiHeaders\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.resPath,\n\tnewVal => {\n\t\tiResPath.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.successCode,\n\tnewVal => {\n\t\tiSuccessCode.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.apiLabel,\n\tnewVal => {\n\t\tiApiLabel.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.errorPath,\n\tnewVal => {\n\t\tiErrorPath.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.optionWidth,\n\tnewVal => {\n\t\tiOptionWidth.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.disabled,\n\tnewVal => {\n\t\tdisabled.value = newVal\n\t}\n)\n\n/* ================================ 工具方法 ================================ */\nconst getLabel = val => {\n\tconst obj = options.value.find(item => item[iValueText.value] === val)\n\tif (obj && obj[iLabelText.value]) {\n\t\treturn obj[iLabelText.value]\n\t}\n\treturn null\n}\n\n// 设置选中项方法(从vue2迁移)\nconst setSelected = (val: any) => {\n\tlet selectedData = JSON.parse(JSON.stringify(selected.value))\n\n\tif (!props.multiple) {\n\t\t// 单选模式\n\t\tif (options.value.findIndex(option => option[iValueText.value] === val) === -1) {\n\t\t\tselectedData = {\n\t\t\t\t[iLabelText.value]: val,\n\t\t\t\t[iValueText.value]: val\n\t\t\t}\n\t\t} else {\n\t\t\tselectedData = options.value.find(option => option[iValueText.value] === val)\n\t\t}\n\t} else {\n\t\t// 多选模式\n\t\tif (val === '') {\n\t\t\tselectedData = []\n\t\t} else {\n\t\t\tconst arr = Array.isArray(val) ? unique(val) : unique(val.split(props.splitSymbol || ','))\n\t\t\tlet selectedArr: any[] = []\n\t\t\tarr.map((item: string) => {\n\t\t\t\tif (item && item.trim()) {\n\t\t\t\t\tif (options.value.findIndex(option => String(option[iValueText.value]) === String(item)) === -1) {\n\t\t\t\t\t\tselectedArr.push({\n\t\t\t\t\t\t\t[iLabelText.value]: item,\n\t\t\t\t\t\t\t[iValueText.value]: item,\n\t\t\t\t\t\t\thide: !props.inputable // 当输入一个不存在的值的时候,如果可自定义则显示,否则不显示\n\t\t\t\t\t\t})\n\t\t\t\t\t} else {\n\t\t\t\t\t\toptions.value.map(option => {\n\t\t\t\t\t\t\tif (String(option[iValueText.value]) === String(item)) {\n\t\t\t\t\t\t\t\tselectedArr.push(option)\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})\n\t\t\tselectedData = selectedArr\n\t\t}\n\t}\n\n\tif (props.beforeChange) {\n\t\tconst fn = props.beforeChange(selectedData)\n\t\tif (fn && fn.then) {\n\t\t\tfn.then(() => {\n\t\t\t\tselected.value = selectedData\n\t\t\t}).catch(() => {})\n\t\t} else {\n\t\t\tif (fn) {\n\t\t\t\tselected.value = selectedData\n\t\t\t}\n\t\t}\n\t} else {\n\t\tselected.value = selectedData\n\t}\n}\n\n// 数组去重工具函数\nconst unique = arr => {\n\treturn [...new Set(arr)]\n}\n\nconst valueChange = val => {\n\tif (!props.multiple) {\n\t\tif (props.inputable) {\n\t\t\tinputValue.value = getLabel(val) || val\n\t\t}\n\t\tif (props.filterable && !props.inputable) {\n\t\t\tfilterValue.value = getLabel(val) || ''\n\t\t}\n\t\tif (props.filterable && props.inputable) {\n\t\t\tfilterValue.value = getLabel(val) || val\n\t\t}\n\t\tif (props.setDataFn && !props.inputable) {\n\t\t\tsetDataInputValue.value = getLabel(val) || ''\n\t\t}\n\t\tif (props.setDataFn && props.inputable) {\n\t\t\tsetDataInputValue.value = getLabel(val) || val\n\t\t}\n\t}\n}\n\n/* ================================ 弹层控制方法 ================================ */\nconst layerClose = () => {\n\tif (!props.multiple) {\n\t\tif (props.filterable && !props.inputable) {\n\t\t\tif (iValue.value) {\n\t\t\t\tconst label = getLabel(iValue.value)\n\t\t\t\tif (label) {\n\t\t\t\t\tfilterValue.value = label\n\t\t\t\t} else {\n\t\t\t\t\tfilterValue.value = ''\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfilterValue.value = ''\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (props.inputable) {\n\t\t\tmultipleInputValue.value = ''\n\t\t}\n\t\tif (props.filterable) {\n\t\t\tmultipleFilterValue.value = ''\n\t\t}\n\t}\n}\n\nconst closeLayer = () => {\n\toptionLayer.value.close()\n\tlayerClose()\n}\n\nconst toggleLayer = () => {\n\topenOptionLayer()\n}\n\n/* ============================ 对比方法 ========================================== */\n// 记录历史值,以便对比或者取值\nconst compare = () => {\n\tvalueStore.value.unshift(iValue.value)\n}\nconst setDisabled = (f: boolean) => {\n\tdisabled.value = f\n}\n// 撤销\nconst restore = () => {\n\tiValue.value = valueStore.value[0]\n\tvalueStore.value.splice(0, 1)\n}\n\n/* ================================ 组件暴露 ================================ */\ndefineExpose({\n\tcloseLayer,\n\tsetSelected,\n\tcompare,\n\tsetDisabled,\n\trestore,\n\tchanged,\n\terrorTip,\n\terrorType\n})\n</script>\n"],"names":["DO_defineComponent","nomatch","option","_a","_createCommentVNode","_createElementBlock","id","_normalizeClass","_unref","tabindex","_createElementVNode","verifiable","rule","required","trim","$slots","_renderSlot","prefix","icon","_createBlock","native","clearable","placeholder","_openBlock","_Fragment","_renderList","_toDisplayString","multiple","inputable","filterable","setDataFn","unit","spChars","focusWhenClear","useAllText","allText","removable","_createTextVNode","arrowType","suffix","_createVNode","optionDisplay","optionAlign","lazy","fillet","nodataText","nomatchText","optionCol","optionWrap","_vShow","_withModifiers"],"mappings":"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"}
@@ -13,11 +13,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
13
13
  mode: { default: "default" },
14
14
  data: { default: () => [] },
15
15
  removable: { type: Boolean, default: false },
16
+ itemDir: { default: "" },
16
17
  over: { default: "control" },
17
18
  event: { default: "click" },
18
19
  contentType: { default: "" },
19
20
  title: { default: "" },
20
21
  height: { default: "" },
22
+ changePic: { type: Boolean, default: false },
21
23
  beforeChange: { type: Function, default: null },
22
24
  beforeRemove: { type: Function, default: null }
23
25
  },
@@ -86,6 +88,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
86
88
  if (props.mode) {
87
89
  arr.push(`mode-${props.mode}`);
88
90
  }
91
+ if (props.itemDir) {
92
+ arr.push(`item-dir-${props.itemDir}`);
93
+ }
89
94
  return arr;
90
95
  });
91
96
  const setUlClass = computed(() => {
@@ -194,7 +199,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
194
199
  }
195
200
  function getPicOn(pic) {
196
201
  let src = "";
197
- if (pic) {
202
+ if (pic && props.changePic) {
198
203
  let arr = pic.split(".");
199
204
  if (arr.length === 2) {
200
205
  src = arr[0] + "-on." + arr[1];
@@ -207,6 +212,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
207
212
  }
208
213
  });
209
214
  }
215
+ } else {
216
+ src = pic;
210
217
  }
211
218
  return src;
212
219
  }