@touchvue/ui 1.0.0-beta.53 → 1.0.0-beta.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/calendar/src/calendar.d.ts +8 -1
- package/es/components/calendar/src/calendar.vue.d.ts +9 -0
- package/es/components/cascader/src/cascader-item.vue.d.ts +5 -1
- package/es/components/cascader/src/cascader.vue.d.ts +0 -7
- package/es/components/datepicker/src/DatePicker.vue.d.ts +9 -0
- package/es/components/datepicker/src/Picker.vue.d.ts +9 -0
- package/es/components/datepicker/src/date-picker.d.ts +1 -1
- package/es/components/datepicker/src/use-date-picker.d.ts +1 -0
- package/es/components/float/index.d.ts +15 -0
- package/es/components/float/src/Float.vue.d.ts +9 -0
- package/es/components/float/src/float.d.ts +4 -0
- package/es/components/icon/src/icon.vue.d.ts +2 -0
- package/es/components/input/src/input.vue.d.ts +2 -2
- package/es/components/rate/src/rate.vue.d.ts +46 -10
- package/es/components/select/src/select.d.ts +18 -0
- package/es/components/select/src/select.vue.d.ts +18 -0
- package/es/components/tab/src/tab-item.vue.d.ts +2 -0
- package/es/components/timeline/src/timeline.vue.d.ts +5 -0
- package/es/components/tip/src/tip.vue.d.ts +2 -2
- package/es/directives/index.d.ts +2 -1
- package/es/directives/press/index.d.ts +2 -0
- package/es/directives/press/src/press.d.ts +20 -0
- package/es/index.d.mjs +1 -0
- package/es/index.d.mjs.map +1 -1
- package/es/index.mjs +3 -1
- package/es/index.mjs.map +1 -1
- package/es/node_modules/.pnpm/dompurify@3.4.12/node_modules/dompurify/dist/purify.es.mjs +2425 -0
- package/es/node_modules/.pnpm/dompurify@3.4.12/node_modules/dompurify/dist/purify.es.mjs.map +1 -0
- package/es/packages/components/calendar/src/calendar.mjs +7 -0
- package/es/packages/components/calendar/src/calendar.mjs.map +1 -1
- package/es/packages/components/calendar/src/calendar.vue2.mjs +31 -38
- package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
- package/es/packages/components/cascader/src/cascader-item.vue2.mjs +36 -84
- package/es/packages/components/cascader/src/cascader-item.vue2.mjs.map +1 -1
- package/es/packages/components/cascader/src/cascader.vue2.mjs +86 -28
- package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
- package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs +2 -3
- package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
- package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +9 -3
- package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
- package/es/packages/components/datepicker/src/Picker.vue2.mjs +4 -0
- package/es/packages/components/datepicker/src/Picker.vue2.mjs.map +1 -1
- package/es/packages/components/datepicker/src/date-picker.mjs.map +1 -1
- package/es/packages/components/datepicker/src/use-date-picker.mjs +8 -8
- package/es/packages/components/datepicker/src/use-date-picker.mjs.map +1 -1
- package/es/packages/components/float/src/Float.vue2.mjs +13 -6
- package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
- package/es/packages/components/float/src/float.mjs +1 -0
- package/es/packages/components/float/src/float.mjs.map +1 -1
- package/es/packages/components/header/src/header.vue2.mjs +4 -3
- package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
- package/es/packages/components/icon/src/icon.vue2.mjs +7 -3
- package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
- package/es/packages/components/index.d.mjs +1 -0
- package/es/packages/components/index.d.mjs.map +1 -1
- package/es/packages/components/index.mjs +1 -0
- package/es/packages/components/index.mjs.map +1 -1
- package/es/packages/components/input/src/input.vue2.mjs +11 -11
- package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
- package/es/packages/components/msg/src/msg.vue2.mjs +1 -1
- package/es/packages/components/rate/src/rate.vue2.mjs +153 -85
- package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
- package/es/packages/components/segment/src/segment.vue.mjs +2 -2
- package/es/packages/components/select/src/select.mjs +18 -0
- package/es/packages/components/select/src/select.mjs.map +1 -1
- package/es/packages/components/select/src/select.vue2.mjs +262 -87
- package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
- package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
- package/es/packages/components/tab/src/tab-item.vue2.mjs +3 -1
- package/es/packages/components/tab/src/tab-item.vue2.mjs.map +1 -1
- package/es/packages/components/tab/src/tab.vue2.mjs +24 -2
- package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/table.vue2.mjs +60 -2
- package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
- package/es/packages/components/tree/src/tree-item.vue2.mjs +1 -1
- package/es/packages/components/tree/src/tree-item.vue2.mjs.map +1 -1
- package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
- package/es/packages/directives/index.d.mjs +1 -0
- package/es/packages/directives/index.d.mjs.map +1 -1
- package/es/packages/directives/index.mjs +3 -3
- package/es/packages/directives/index.mjs.map +1 -1
- package/es/packages/directives/press/index.d.mjs +2 -0
- package/es/packages/directives/press/index.mjs +2 -0
- package/es/packages/directives/press/src/press.d.mjs +2 -0
- package/es/packages/directives/press/src/press.d.mjs.map +1 -0
- package/es/packages/directives/press/src/press.mjs +100 -0
- package/es/packages/directives/press/src/press.mjs.map +1 -0
- package/es/packages/directives/tip/src/tip.mjs +42 -27
- package/es/packages/directives/tip/src/tip.mjs.map +1 -1
- package/es/packages/locale/format.mjs +1 -1
- package/es/packages/locale/format.mjs.map +1 -1
- package/es/packages/locale/lang/en-US.mjs +6 -0
- package/es/packages/locale/lang/en-US.mjs.map +1 -1
- package/es/packages/locale/lang/zh-CN.mjs +6 -0
- package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
- package/es/packages/utils/print.mjs +1 -1
- package/es/ui/index.d.ts +6 -0
- package/lib/components/calendar/src/calendar.d.ts +8 -1
- package/lib/components/calendar/src/calendar.vue.d.ts +9 -0
- package/lib/components/cascader/src/cascader-item.vue.d.ts +5 -1
- package/lib/components/cascader/src/cascader.vue.d.ts +0 -7
- package/lib/components/datepicker/src/DatePicker.vue.d.ts +9 -0
- package/lib/components/datepicker/src/Picker.vue.d.ts +9 -0
- package/lib/components/datepicker/src/date-picker.d.ts +1 -1
- package/lib/components/datepicker/src/use-date-picker.d.ts +1 -0
- package/lib/components/float/index.d.ts +15 -0
- package/lib/components/float/src/Float.vue.d.ts +9 -0
- package/lib/components/float/src/float.d.ts +4 -0
- package/lib/components/icon/src/icon.vue.d.ts +2 -0
- package/lib/components/input/src/input.vue.d.ts +2 -2
- package/lib/components/rate/src/rate.vue.d.ts +46 -10
- package/lib/components/select/src/select.d.ts +18 -0
- package/lib/components/select/src/select.vue.d.ts +18 -0
- package/lib/components/tab/src/tab-item.vue.d.ts +2 -0
- package/lib/components/timeline/src/timeline.vue.d.ts +5 -0
- package/lib/components/tip/src/tip.vue.d.ts +2 -2
- package/lib/directives/index.d.ts +2 -1
- package/lib/directives/press/index.d.ts +2 -0
- package/lib/directives/press/src/press.d.ts +20 -0
- package/lib/index.d.js +2 -0
- package/lib/index.d.js.map +1 -1
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/node_modules/.pnpm/dompurify@3.4.12/node_modules/dompurify/dist/purify.es.js +2429 -0
- package/lib/node_modules/.pnpm/dompurify@3.4.12/node_modules/dompurify/dist/purify.es.js.map +1 -0
- package/lib/packages/components/calendar/src/calendar.js +7 -0
- package/lib/packages/components/calendar/src/calendar.js.map +1 -1
- package/lib/packages/components/calendar/src/calendar.vue2.js +31 -38
- package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
- package/lib/packages/components/cascader/src/cascader-item.vue2.js +35 -83
- package/lib/packages/components/cascader/src/cascader-item.vue2.js.map +1 -1
- package/lib/packages/components/cascader/src/cascader.vue2.js +85 -27
- package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
- package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js +1 -2
- package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
- package/lib/packages/components/datepicker/src/DatePicker.vue2.js +9 -3
- package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
- package/lib/packages/components/datepicker/src/Picker.vue2.js +4 -0
- package/lib/packages/components/datepicker/src/Picker.vue2.js.map +1 -1
- package/lib/packages/components/datepicker/src/date-picker.js.map +1 -1
- package/lib/packages/components/datepicker/src/use-date-picker.js +8 -8
- package/lib/packages/components/datepicker/src/use-date-picker.js.map +1 -1
- package/lib/packages/components/float/src/Float.vue2.js +12 -5
- package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
- package/lib/packages/components/float/src/float.js +1 -0
- package/lib/packages/components/float/src/float.js.map +1 -1
- package/lib/packages/components/header/src/header.vue2.js +4 -3
- package/lib/packages/components/header/src/header.vue2.js.map +1 -1
- package/lib/packages/components/icon/src/icon.vue2.js +7 -3
- package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
- package/lib/packages/components/index.d.js +2 -0
- package/lib/packages/components/index.d.js.map +1 -1
- package/lib/packages/components/index.js +2 -0
- package/lib/packages/components/index.js.map +1 -1
- package/lib/packages/components/input/src/input.vue2.js +11 -11
- package/lib/packages/components/input/src/input.vue2.js.map +1 -1
- package/lib/packages/components/msg/src/msg.vue2.js +1 -1
- package/lib/packages/components/rate/src/rate.vue2.js +152 -84
- package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
- package/lib/packages/components/segment/src/segment.vue.js +2 -2
- package/lib/packages/components/select/src/select.js +18 -0
- package/lib/packages/components/select/src/select.js.map +1 -1
- package/lib/packages/components/select/src/select.vue2.js +261 -86
- package/lib/packages/components/select/src/select.vue2.js.map +1 -1
- package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
- package/lib/packages/components/tab/src/tab-item.vue2.js +3 -1
- package/lib/packages/components/tab/src/tab-item.vue2.js.map +1 -1
- package/lib/packages/components/tab/src/tab.vue2.js +23 -1
- package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
- package/lib/packages/components/table/src/table.vue2.js +59 -1
- package/lib/packages/components/table/src/table.vue2.js.map +1 -1
- package/lib/packages/components/tree/src/tree-item.vue2.js +1 -1
- package/lib/packages/components/tree/src/tree-item.vue2.js.map +1 -1
- package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
- package/lib/packages/directives/index.d.js +2 -0
- package/lib/packages/directives/index.d.js.map +1 -1
- package/lib/packages/directives/index.js +3 -2
- package/lib/packages/directives/index.js.map +1 -1
- package/lib/packages/directives/press/index.d.js +8 -0
- package/lib/packages/directives/press/index.js +8 -0
- package/lib/packages/directives/press/src/press.d.js +3 -0
- package/lib/packages/directives/press/src/press.d.js.map +1 -0
- package/lib/packages/directives/press/src/press.js +102 -0
- package/lib/packages/directives/press/src/press.js.map +1 -0
- package/lib/packages/directives/tip/src/tip.js +41 -26
- package/lib/packages/directives/tip/src/tip.js.map +1 -1
- package/lib/packages/locale/format.js +1 -1
- package/lib/packages/locale/format.js.map +1 -1
- package/lib/packages/locale/lang/en-US.js +6 -0
- package/lib/packages/locale/lang/en-US.js.map +1 -1
- package/lib/packages/locale/lang/zh-CN.js +6 -0
- package/lib/packages/locale/lang/zh-CN.js.map +1 -1
- package/lib/packages/utils/print.js +1 -1
- package/lib/ui/index.d.ts +6 -0
- package/package.json +1 -1
- package/theme/components/index.css +304 -173
- package/theme/index.css +304 -173
- package/theme/skin/default.css +304 -173
- package/es/directives/longtap/index.d.ts +0 -2
- package/es/directives/longtap/src/longtap.d.ts +0 -7
- package/es/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.mjs +0 -1386
- package/es/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.mjs.map +0 -1
- package/es/packages/directives/longtap/index.d.mjs +0 -2
- package/es/packages/directives/longtap/index.mjs +0 -2
- package/es/packages/directives/longtap/src/longtap.d.mjs +0 -2
- package/es/packages/directives/longtap/src/longtap.d.mjs.map +0 -1
- package/es/packages/directives/longtap/src/longtap.mjs +0 -80
- package/es/packages/directives/longtap/src/longtap.mjs.map +0 -1
- package/lib/directives/longtap/index.d.ts +0 -2
- package/lib/directives/longtap/src/longtap.d.ts +0 -7
- package/lib/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.js +0 -1390
- package/lib/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.js.map +0 -1
- package/lib/packages/directives/longtap/index.d.js +0 -8
- package/lib/packages/directives/longtap/index.js +0 -8
- package/lib/packages/directives/longtap/src/longtap.d.js +0 -3
- package/lib/packages/directives/longtap/src/longtap.d.js.map +0 -1
- package/lib/packages/directives/longtap/src/longtap.js +0 -82
- package/lib/packages/directives/longtap/src/longtap.js.map +0 -1
- /package/es/packages/directives/{longtap → press}/index.d.mjs.map +0 -0
- /package/es/packages/directives/{longtap → press}/index.mjs.map +0 -0
- /package/lib/packages/directives/{longtap → press}/index.d.js.map +0 -0
- /package/lib/packages/directives/{longtap → press}/index.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { ExtractPropTypes, PropType } from 'vue'\r\n\r\nfunction ajax() {}\r\n\r\n/**\r\n * 选择框模式类型\r\n */\r\nexport type SelectMode = 'default' | 'fill' | 'none' | 'plain' | 'line' | string\r\n\r\n/**\r\n * 选择值的类型\r\n */\r\nexport type SelectValueType = string | number | (string | number)[]\r\n\r\n/**\r\n * 选择框选项数据类型\r\n */\r\nexport type SelectOptionsData = {\r\n\t/**\r\n\t * 默认的选项标题字段\r\n\t */\r\n\tlabel?: string | unknown\r\n\t/**\r\n\t * 默认的选项值字段\r\n\t */\r\n\tvalue?: string | number | unknown\r\n\tdisabled?: boolean\r\n\thide?: boolean\r\n\t[props: string]: any\r\n}\r\n\r\n/**\r\n * 箭头类型\r\n */\r\nexport type ArrowType = 'browse' | 'next' | ''\r\n\r\n/**\r\n * 选项显示模式\r\n */\r\nexport type OptionDisplay = 'none' | 'float' | 'popup' | string\r\n\r\nexport const selectProps = {\r\n\tflex: Boolean,\r\n\t/**\r\n\t * 懒加载\r\n\t */\r\n\tlazy: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\t/**\r\n\t * 原生模式(性能极端低下情况下使用)\r\n\t */\r\n\tnative: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 表单校验描述\r\n\t */\r\n\tdesc: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 表单校验规则\r\n\t */\r\n\trule: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 元素ID\r\n\t */\r\n\tid: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 是否必填\r\n\t */\r\n\trequired: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 安全字符过滤\r\n\t */\r\n\tspChars: {\r\n\t\ttype: [String, Boolean],\r\n\t\tdefault: '/,\\\\,[,],{,},\"' // 微软拼音输入法使用单引号做上屏前多个字符分隔符,不能过滤单引号\r\n\t},\r\n\t/**\r\n\t * 单位\r\n\t */\r\n\tunit: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 分割符号\r\n\t */\r\n\tsplitSymbol: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * Tab索引\r\n\t */\r\n\ttabindex: {\r\n\t\ttype: String,\r\n\t\tdefault: '1'\r\n\t},\r\n\t/**\r\n\t * 值字段名\r\n\t */\r\n\tvalueText: {\r\n\t\ttype: String,\r\n\t\tdefault: 'value'\r\n\t},\r\n\t/**\r\n\t * 标签字段名\r\n\t */\r\n\tlabelText: {\r\n\t\ttype: String,\r\n\t\tdefault: 'label'\r\n\t},\r\n\t/**\r\n\t * 绑定值\r\n\t */\r\n\tmodelValue: {\r\n\t\ttype: [String, Number, Array] as PropType<SelectValueType>,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 选择框数据\r\n\t */\r\n\tdata: {\r\n\t\ttype: [Array, String] as PropType<SelectOptionsData[] | string>,\r\n\t\tdefault: () => []\r\n\t},\r\n\t/**\r\n\t * 占位符文本\r\n\t */\r\n\tplaceholder: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 占位符颜色\r\n\t */\r\n\tplaceholderColor: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 无匹配数据文本\r\n\t */\r\n\tnomatchText: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 暂无数据文本\r\n\t */\r\n\tnodataText: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tdisabled: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 是否多选\r\n\t */\r\n\tmultiple: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 是否可过滤\r\n\t */\r\n\tfilterable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 是否可输入\r\n\t */\r\n\tinputable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 使用全选文本\r\n\t */\r\n\tuseAllText: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 全选文本\r\n\t */\r\n\tallText: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 是否可清空\r\n\t */\r\n\tclearable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\t/**\r\n\t * 多选是否可逐个删除\r\n\t */\r\n\tremovable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\t/**\r\n\t * 选择框颜色\r\n\t */\r\n\tcolor: {\r\n\t\ttype: String,\r\n\t\tdefault: 'default'\r\n\t},\r\n\t/**\r\n\t * 选择框模式\r\n\t */\r\n\tmode: {\r\n\t\ttype: String as PropType<SelectMode>,\r\n\t\tdefault: 'default'\r\n\t},\r\n\t/**\r\n\t * 选择框宽度\r\n\t */\r\n\twidth: {\r\n\t\ttype: [Number, String],\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 箭头类型\r\n\t */\r\n\tarrowType: {\r\n\t\ttype: String as PropType<ArrowType>,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 选项宽度\r\n\t */\r\n\toptionWidth: {\r\n\t\ttype: [Number, String],\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 选项显示模式\r\n\t */\r\n\toptionDisplay: {\r\n\t\ttype: [Number, String] as PropType<OptionDisplay>,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 选项列数\r\n\t */\r\n\toptionCol: {\r\n\t\ttype: [Number, String],\r\n\t\tdefault: 1\r\n\t},\r\n\t/**\r\n\t * 选项换行\r\n\t */\r\n\toptionWrap: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 选项对齐方式\r\n\t */\r\n\toptionAlign: {\r\n\t\ttype: String as PropType<'left' | 'right' | 'center'>,\r\n\t\tdefault: 'left'\r\n\t},\r\n\t/**\r\n\t * HTTP请求函数\r\n\t */\r\n\thttpRequest: {\r\n\t\ttype: Function,\r\n\t\tdefault: ajax\r\n\t},\r\n\t/**\r\n\t * API地址\r\n\t */\r\n\tapi: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * API参数\r\n\t */\r\n\tapiParam: {\r\n\t\ttype: Object,\r\n\t\tdefault: null\r\n\t},\r\n\t/**\r\n\t * API请求头\r\n\t */\r\n\tapiHeaders: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => ({})\r\n\t},\r\n\t/**\r\n\t * API标签字段\r\n\t */\r\n\tapiLabel: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 响应数据路径\r\n\t */\r\n\tresPath: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 错误信息路径\r\n\t */\r\n\terrorPath: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 成功状态码\r\n\t */\r\n\tsuccessCode: {\r\n\t\ttype: String,\r\n\t\tdefault: '0'\r\n\t},\r\n\t/**\r\n\t * 远程异步数据设置函数\r\n\t */\r\n\tsetDataFn: {\r\n\t\ttype: Function,\r\n\t\tdefault: null\r\n\t},\r\n\t/**\r\n\t * 前缀文本\r\n\t */\r\n\tprefix: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 后缀文本\r\n\t */\r\n\tsuffix: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 图标\r\n\t */\r\n\ticon: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 是否去除空格\r\n\t */\r\n\ttrim: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\t/**\r\n\t * 多选时每次选择都关闭弹窗\r\n\t */\r\n\tcloseSelection: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 是否可验证\r\n\t */\r\n\tverifiable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\t/**\r\n\t * 是否可比较\r\n\t */\r\n\tcomparable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 自定义标签函数\r\n\t */\r\n\tsetLabelFn: {\r\n\t\ttype: Function,\r\n\t\tdefault: undefined\r\n\t},\r\n\t/**\r\n\t * 是否换行\r\n\t */\r\n\twrap: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 过滤模式下清空数据是否弹出下拉框\r\n\t */\r\n\tfocusWhenClear: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 值改变前的回调\r\n\t */\r\n\tbeforeChange: {\r\n\t\ttype: Function,\r\n\t\tdefault: null\r\n\t},\r\n\t/**\r\n\t * 值类型\r\n\t */\r\n\tvalueType: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\t/**\r\n\t * 是否开启远程搜索\r\n\t */\r\n\tremote: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\t/**\r\n\t * 远程搜索方法\r\n\t */\r\n\tremoteMethod: {\r\n\t\ttype: Function,\r\n\t\tdefault: null\r\n\t}\r\n}\r\n\r\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { ExtractPropTypes, PropType } from 'vue'\n\nfunction ajax() {}\n\n/**\n * 选择框模式类型\n */\nexport type SelectMode = 'default' | 'fill' | 'none' | 'plain' | 'line' | string\n\n/**\n * 选择值的类型\n */\nexport type SelectValueType = string | number | (string | number)[]\n\n/**\n * 选择框选项数据类型\n */\nexport type SelectOptionsData = {\n\t/**\n\t * 默认的选项标题字段\n\t */\n\tlabel?: string | unknown\n\t/**\n\t * 默认的选项值字段\n\t */\n\tvalue?: string | number | unknown\n\tdisabled?: boolean\n\thide?: boolean\n\t[props: string]: any\n}\n\n/**\n * 箭头类型\n */\nexport type ArrowType = 'browse' | 'next' | ''\n\n/**\n * 选项显示模式\n */\nexport type OptionDisplay = 'none' | 'float' | 'popup' | string\n\nexport const selectProps = {\n\tflex: Boolean,\n\t/**\n\t * 懒加载\n\t */\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 原生模式(性能极端低下情况下使用)\n\t */\n\tnative: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 表单校验描述\n\t */\n\tdesc: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 表单校验规则\n\t */\n\trule: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 元素ID\n\t */\n\tid: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否必填\n\t */\n\trequired: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 安全字符过滤\n\t */\n\tspChars: {\n\t\ttype: [String, Boolean],\n\t\tdefault: '/,\\\\,[,],{,},\"' // 微软拼音输入法使用单引号做上屏前多个字符分隔符,不能过滤单引号\n\t},\n\t/**\n\t * 单位\n\t */\n\tunit: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 分割符号\n\t */\n\tsplitSymbol: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * Tab索引\n\t */\n\ttabindex: {\n\t\ttype: String,\n\t\tdefault: '1'\n\t},\n\t/**\n\t * 值字段名\n\t */\n\tvalueText: {\n\t\ttype: String,\n\t\tdefault: 'value'\n\t},\n\t/**\n\t * 标签字段名\n\t */\n\tlabelText: {\n\t\ttype: String,\n\t\tdefault: 'label'\n\t},\n\t/**\n\t * 绑定值\n\t */\n\tmodelValue: {\n\t\ttype: [String, Number, Array] as PropType<SelectValueType>,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选择框数据\n\t */\n\tdata: {\n\t\ttype: [Array, String] as PropType<SelectOptionsData[] | string>,\n\t\tdefault: () => []\n\t},\n\t/**\n\t * 占位符文本\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 占位符颜色\n\t */\n\tplaceholderColor: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 无匹配数据文本\n\t */\n\tnomatchText: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 暂无数据文本\n\t */\n\tnodataText: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否多选\n\t */\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 多选时是否折叠标签为计数显示(+N)\n\t * 开启后自动根据宽度判断一行能放下的标签数,超出部分显示 +N\n\t */\n\tisCount: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否可过滤\n\t */\n\tfilterable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否可输入\n\t */\n\tinputable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 使用全选文本\n\t */\n\tuseAllText: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 全选文本\n\t */\n\tallText: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否可清空\n\t */\n\tclearable: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 清空方式\n\t * - icon:输入框内显示清除图标按钮,不展示\"请选择\"默认项\n\t * - default:通过下拉选项中的\"请选择\"空选项清空(原始行为)\n\t * 支持全局配置 $TouchUI.select.clearType\n\t */\n\tclearType: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 多选是否可逐个删除\n\t */\n\tremovable: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 选择框颜色\n\t */\n\tcolor: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\t/**\n\t * 选择框模式\n\t */\n\tmode: {\n\t\ttype: String as PropType<SelectMode>,\n\t\tdefault: 'default'\n\t},\n\t/**\n\t * 选择框宽度\n\t */\n\twidth: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 箭头类型\n\t */\n\tarrowType: {\n\t\ttype: String as PropType<ArrowType>,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选项宽度\n\t */\n\toptionWidth: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选项显示模式\n\t */\n\toptionDisplay: {\n\t\ttype: [Number, String] as PropType<OptionDisplay>,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选项列数\n\t */\n\toptionCol: {\n\t\ttype: [Number, String],\n\t\tdefault: 1\n\t},\n\t/**\n\t * 选项换行\n\t */\n\toptionWrap: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 选项对齐方式\n\t */\n\toptionAlign: {\n\t\ttype: String as PropType<'left' | 'right' | 'center'>,\n\t\tdefault: 'left'\n\t},\n\t/**\n\t * HTTP请求函数\n\t */\n\thttpRequest: {\n\t\ttype: Function,\n\t\tdefault: ajax\n\t},\n\t/**\n\t * API地址\n\t */\n\tapi: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * API参数\n\t */\n\tapiParam: {\n\t\ttype: Object,\n\t\tdefault: null\n\t},\n\t/**\n\t * API请求头\n\t */\n\tapiHeaders: {\n\t\ttype: Object,\n\t\tdefault: () => ({})\n\t},\n\t/**\n\t * API标签字段\n\t */\n\tapiLabel: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 响应数据路径\n\t */\n\tresPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 错误信息路径\n\t */\n\terrorPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 成功状态码\n\t */\n\tsuccessCode: {\n\t\ttype: String,\n\t\tdefault: '0'\n\t},\n\t/**\n\t * 远程异步数据设置函数\n\t */\n\tsetDataFn: {\n\t\ttype: Function,\n\t\tdefault: null\n\t},\n\t/**\n\t * 前缀文本\n\t */\n\tprefix: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 后缀文本\n\t */\n\tsuffix: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 图标\n\t */\n\ticon: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否去除空格\n\t */\n\ttrim: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 多选时每次选择都关闭弹窗\n\t */\n\tcloseSelection: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否可验证\n\t */\n\tverifiable: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 是否可比较\n\t */\n\tcomparable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 自定义标签函数\n\t */\n\tsetLabelFn: {\n\t\ttype: Function,\n\t\tdefault: undefined\n\t},\n\t/**\n\t * 是否换行\n\t */\n\twrap: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 过滤模式下清空数据是否弹出下拉框\n\t */\n\tfocusWhenClear: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 值改变前的回调\n\t */\n\tbeforeChange: {\n\t\ttype: Function,\n\t\tdefault: null\n\t},\n\t/**\n\t * 值类型\n\t */\n\tvalueType: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否开启远程搜索\n\t */\n\tremote: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 远程搜索方法\n\t */\n\tremoteMethod: {\n\t\ttype: Function,\n\t\tdefault: null\n\t}\n}\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, onMounted, onUnmounted, inject, computed, watch,
|
|
1
|
+
import { defineComponent, ref, onMounted, nextTick, onUnmounted, inject, getCurrentInstance, computed, watch, resolveDirective, openBlock, createElementBlock, Fragment, createCommentVNode, withDirectives, unref, normalizeClass, normalizeStyle, withKeys, createElementVNode, vShow, renderSlot, toDisplayString, createBlock, renderList, vModelSelect, createTextVNode, withCtx, withModifiers, createVNode, Teleport } from 'vue';
|
|
2
2
|
import { langKey, t } from '../../../locale/index.mjs';
|
|
3
3
|
import { selectProps } from './select.mjs';
|
|
4
4
|
import { ToButton } from '../../button/index.mjs';
|
|
@@ -39,8 +39,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
39
39
|
onMounted(() => {
|
|
40
40
|
calcScale();
|
|
41
41
|
window.addEventListener("resize", calcScale);
|
|
42
|
+
nextTick(() => setupTagResizeObserver());
|
|
42
43
|
onUnmounted(() => {
|
|
43
44
|
window.removeEventListener("resize", calcScale);
|
|
45
|
+
if (tagResizeObserver) {
|
|
46
|
+
tagResizeObserver.disconnect();
|
|
47
|
+
tagResizeObserver = null;
|
|
48
|
+
}
|
|
44
49
|
});
|
|
45
50
|
});
|
|
46
51
|
const props = __props;
|
|
@@ -50,6 +55,28 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
50
55
|
const $TouchUI = inject("$TouchUI", {
|
|
51
56
|
colors: ["primary", "success", "warning", "danger", "info", "default", "dark"]
|
|
52
57
|
});
|
|
58
|
+
const ins = getCurrentInstance();
|
|
59
|
+
const iClearType = computed(() => {
|
|
60
|
+
var _a, _b, _c;
|
|
61
|
+
if (props.clearType) {
|
|
62
|
+
return props.clearType;
|
|
63
|
+
}
|
|
64
|
+
return (_c = (_b = (_a = ins == null ? void 0 : ins.appContext.config.globalProperties.$TouchUI) == null ? void 0 : _a.select) == null ? void 0 : _b.clearType) != null ? _c : "icon";
|
|
65
|
+
});
|
|
66
|
+
const showClearIcon = computed(() => {
|
|
67
|
+
var _a;
|
|
68
|
+
if (!props.clearable || disabled.value || props.native)
|
|
69
|
+
return false;
|
|
70
|
+
if (iClearType.value !== "icon")
|
|
71
|
+
return false;
|
|
72
|
+
if (props.inputable || props.filterable || props.setDataFn || props.remoteMethod)
|
|
73
|
+
return false;
|
|
74
|
+
if (props.multiple) {
|
|
75
|
+
return selected.value.filter((item) => !item.hide).length > 0;
|
|
76
|
+
} else {
|
|
77
|
+
return Boolean((_a = selected.value) == null ? void 0 : _a[iValueText.value]);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
53
80
|
const { isPhone } = useDevice();
|
|
54
81
|
const $phone = isPhone.value;
|
|
55
82
|
const iValue = ref(props.modelValue);
|
|
@@ -66,6 +93,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
66
93
|
const multipleInputValue = ref("");
|
|
67
94
|
const multipleFilterValue = ref("");
|
|
68
95
|
const setDataInputValue = ref("");
|
|
96
|
+
const isFiltering = ref(false);
|
|
69
97
|
const dataLoading = ref(false);
|
|
70
98
|
const errorTip = ref("");
|
|
71
99
|
const errorType = ref("rule");
|
|
@@ -86,6 +114,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
86
114
|
const popupFilter = ref(null);
|
|
87
115
|
const popupInput = ref(null);
|
|
88
116
|
const trigger = ref(null);
|
|
117
|
+
const tagContainerRef = ref(null);
|
|
89
118
|
const options = ref([]);
|
|
90
119
|
const anotherOptions = ref([]);
|
|
91
120
|
const { selected } = useSelectOptionData({
|
|
@@ -96,6 +125,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
96
125
|
return true;
|
|
97
126
|
if (props.remoteMethod)
|
|
98
127
|
return true;
|
|
128
|
+
if (!isFiltering.value)
|
|
129
|
+
return true;
|
|
99
130
|
const value = filterValue.value;
|
|
100
131
|
if (value === "")
|
|
101
132
|
return true;
|
|
@@ -106,12 +137,16 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
106
137
|
return true;
|
|
107
138
|
if (props.remoteMethod)
|
|
108
139
|
return true;
|
|
140
|
+
if (!isFiltering.value)
|
|
141
|
+
return true;
|
|
109
142
|
const value = multipleFilterValue.value;
|
|
110
143
|
if (value === "")
|
|
111
144
|
return true;
|
|
112
145
|
return item[iLabelText.value].includes(value);
|
|
113
146
|
};
|
|
114
147
|
const nomatch = computed(() => {
|
|
148
|
+
if (!isFiltering.value)
|
|
149
|
+
return false;
|
|
115
150
|
let nomatch2 = true;
|
|
116
151
|
let value = props.multiple ? multipleFilterValue.value : filterValue.value;
|
|
117
152
|
if (value === "") {
|
|
@@ -281,7 +316,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
281
316
|
if (props.native) {
|
|
282
317
|
return;
|
|
283
318
|
}
|
|
284
|
-
if (!props.multiple && props.clearable && !props.inputable && !props.setDataFn && !props.filterable && !props.remoteMethod && (!props.optionDisplay || props.optionDisplay === "float")) {
|
|
319
|
+
if (!props.multiple && props.clearable && iClearType.value === "default" && !props.inputable && !props.setDataFn && !props.filterable && !props.remoteMethod && (!props.optionDisplay || props.optionDisplay === "float")) {
|
|
285
320
|
options.value.unshift({
|
|
286
321
|
[iLabelText.value]: "",
|
|
287
322
|
[iValueText.value]: ""
|
|
@@ -524,6 +559,82 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
524
559
|
}
|
|
525
560
|
return arr;
|
|
526
561
|
});
|
|
562
|
+
const visibleCount = ref(Infinity);
|
|
563
|
+
let isRecalculating = false;
|
|
564
|
+
let tagResizeObserver = null;
|
|
565
|
+
const displaySelected = computed(() => {
|
|
566
|
+
return selected.value.filter((item) => !item.hide);
|
|
567
|
+
});
|
|
568
|
+
const overflowCount = computed(() => {
|
|
569
|
+
if (!props.isCount)
|
|
570
|
+
return 0;
|
|
571
|
+
const max = visibleCount.value;
|
|
572
|
+
if (max >= displaySelected.value.length)
|
|
573
|
+
return 0;
|
|
574
|
+
return displaySelected.value.length - max;
|
|
575
|
+
});
|
|
576
|
+
const recalcVisibleCount = () => {
|
|
577
|
+
if (!props.isCount || isRecalculating || !tagContainerRef.value)
|
|
578
|
+
return;
|
|
579
|
+
isRecalculating = true;
|
|
580
|
+
visibleCount.value = Infinity;
|
|
581
|
+
nextTick(() => {
|
|
582
|
+
const container = tagContainerRef.value;
|
|
583
|
+
if (!container) {
|
|
584
|
+
isRecalculating = false;
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
const containerWidth = container.clientWidth;
|
|
588
|
+
const tags = container.querySelectorAll(".to-select-item");
|
|
589
|
+
if (tags.length === 0) {
|
|
590
|
+
isRecalculating = false;
|
|
591
|
+
return;
|
|
592
|
+
}
|
|
593
|
+
const style = getComputedStyle(container);
|
|
594
|
+
const fontSize = parseFloat(style.fontSize) || 16;
|
|
595
|
+
const gap = parseFloat(style.gap || style.rowGap) || 0;
|
|
596
|
+
const firstTagStyle = getComputedStyle(tags[0]);
|
|
597
|
+
const tagMarginLeft = parseFloat(firstTagStyle.marginLeft) || 0;
|
|
598
|
+
const tagMarginRight = parseFloat(firstTagStyle.marginRight) || 0;
|
|
599
|
+
const tagMargin = tagMarginLeft + tagMarginRight;
|
|
600
|
+
const overflowEstimate = 3 * fontSize + tagMargin + gap;
|
|
601
|
+
let reserved = overflowEstimate;
|
|
602
|
+
const inputEl = container.querySelector(".to-select-input");
|
|
603
|
+
if (inputEl) {
|
|
604
|
+
const inputStyle = getComputedStyle(inputEl);
|
|
605
|
+
const inputMargin = (parseFloat(inputStyle.marginLeft) || 0) + (parseFloat(inputStyle.marginRight) || 0);
|
|
606
|
+
reserved += inputEl.offsetWidth + inputMargin + gap;
|
|
607
|
+
}
|
|
608
|
+
let totalWidth = reserved;
|
|
609
|
+
let count = 0;
|
|
610
|
+
for (let i = 0; i < tags.length; i++) {
|
|
611
|
+
const w = tags[i].offsetWidth + tagMargin + gap;
|
|
612
|
+
if (totalWidth + w > containerWidth)
|
|
613
|
+
break;
|
|
614
|
+
totalWidth += w;
|
|
615
|
+
count++;
|
|
616
|
+
}
|
|
617
|
+
visibleCount.value = count > 0 ? count : 1;
|
|
618
|
+
nextTick(() => {
|
|
619
|
+
isRecalculating = false;
|
|
620
|
+
});
|
|
621
|
+
});
|
|
622
|
+
};
|
|
623
|
+
const setupTagResizeObserver = () => {
|
|
624
|
+
if (props.isCount && props.multiple && tagContainerRef.value) {
|
|
625
|
+
if (!tagResizeObserver) {
|
|
626
|
+
tagResizeObserver = new ResizeObserver(() => recalcVisibleCount());
|
|
627
|
+
}
|
|
628
|
+
tagResizeObserver.observe(tagContainerRef.value);
|
|
629
|
+
recalcVisibleCount();
|
|
630
|
+
} else {
|
|
631
|
+
if (tagResizeObserver) {
|
|
632
|
+
tagResizeObserver.disconnect();
|
|
633
|
+
tagResizeObserver = null;
|
|
634
|
+
}
|
|
635
|
+
visibleCount.value = Infinity;
|
|
636
|
+
}
|
|
637
|
+
};
|
|
527
638
|
const change = (value, option) => {
|
|
528
639
|
if (props.beforeChange) {
|
|
529
640
|
let result = props.beforeChange(value, option);
|
|
@@ -629,6 +740,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
629
740
|
}
|
|
630
741
|
};
|
|
631
742
|
const filterInput = () => {
|
|
743
|
+
isFiltering.value = true;
|
|
632
744
|
if (props.remoteMethod) {
|
|
633
745
|
const keyword = props.multiple ? multipleFilterValue.value : filterValue.value;
|
|
634
746
|
clearTimeout(remoteSearchTimer);
|
|
@@ -638,6 +750,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
638
750
|
}
|
|
639
751
|
};
|
|
640
752
|
const filterClear = () => {
|
|
753
|
+
isFiltering.value = false;
|
|
641
754
|
iValue.value = "";
|
|
642
755
|
};
|
|
643
756
|
const setDataLoading = (loading) => {
|
|
@@ -698,6 +811,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
698
811
|
const clear = () => {
|
|
699
812
|
clearChange();
|
|
700
813
|
};
|
|
814
|
+
const clearClick = () => {
|
|
815
|
+
clear();
|
|
816
|
+
closeLayer();
|
|
817
|
+
};
|
|
701
818
|
const clearChange = () => {
|
|
702
819
|
if (props.multiple) {
|
|
703
820
|
change("", []);
|
|
@@ -842,6 +959,21 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
842
959
|
disabled.value = newVal;
|
|
843
960
|
}
|
|
844
961
|
);
|
|
962
|
+
watch(
|
|
963
|
+
() => props.isCount,
|
|
964
|
+
() => {
|
|
965
|
+
nextTick(() => setupTagResizeObserver());
|
|
966
|
+
}
|
|
967
|
+
);
|
|
968
|
+
watch(
|
|
969
|
+
selected,
|
|
970
|
+
() => {
|
|
971
|
+
if (props.isCount) {
|
|
972
|
+
nextTick(() => recalcVisibleCount());
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
{ deep: true }
|
|
976
|
+
);
|
|
845
977
|
const getLabel = (val) => {
|
|
846
978
|
const obj = options.value.find((item) => String(item[iValueText.value]) === String(val));
|
|
847
979
|
if (obj && obj[iLabelText.value]) {
|
|
@@ -926,6 +1058,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
926
1058
|
}
|
|
927
1059
|
};
|
|
928
1060
|
const layerClose = () => {
|
|
1061
|
+
isFiltering.value = false;
|
|
929
1062
|
if (!props.multiple) {
|
|
930
1063
|
if ((props.filterable || props.remoteMethod) && !props.inputable) {
|
|
931
1064
|
if (iValue.value) {
|
|
@@ -956,6 +1089,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
956
1089
|
openOptionLayer();
|
|
957
1090
|
};
|
|
958
1091
|
const layerOpen = () => {
|
|
1092
|
+
isFiltering.value = false;
|
|
959
1093
|
calcScale();
|
|
960
1094
|
};
|
|
961
1095
|
const compare = () => {
|
|
@@ -1072,7 +1206,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1072
1206
|
ref: selector,
|
|
1073
1207
|
"onUpdate:modelValue": ($event) => iValue.value = $event
|
|
1074
1208
|
}, [
|
|
1075
|
-
_ctx.clearable ? (openBlock(), createElementBlock(
|
|
1209
|
+
_ctx.clearable && iClearType.value === "default" ? (openBlock(), createElementBlock(
|
|
1076
1210
|
"option",
|
|
1077
1211
|
{
|
|
1078
1212
|
key: 0,
|
|
@@ -1257,91 +1391,124 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1257
1391
|
{ key: 2 },
|
|
1258
1392
|
[
|
|
1259
1393
|
createCommentVNode(" \u591A\u9009\u6807\u7B7E\u5BB9\u5668 "),
|
|
1260
|
-
createElementVNode(
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1394
|
+
createElementVNode(
|
|
1395
|
+
"span",
|
|
1396
|
+
{
|
|
1397
|
+
ref_key: "tagContainerRef",
|
|
1398
|
+
ref: tagContainerRef,
|
|
1399
|
+
class: normalizeClass(["to-select-tag", { "is-collapse": _ctx.isCount }])
|
|
1400
|
+
},
|
|
1401
|
+
[
|
|
1402
|
+
createCommentVNode(" \u5DF2\u9009\u4E2D\u9879\u7684\u6807\u7B7E\u663E\u793A "),
|
|
1403
|
+
unref(selected).length > 0 && !(isAll.value && _ctx.useAllText) ? (openBlock(), createElementBlock(
|
|
1404
|
+
Fragment,
|
|
1405
|
+
{ key: 0 },
|
|
1406
|
+
[
|
|
1407
|
+
(openBlock(true), createElementBlock(
|
|
1408
|
+
Fragment,
|
|
1409
|
+
null,
|
|
1410
|
+
renderList(_ctx.isCount ? displaySelected.value : unref(selected), (item, index) => {
|
|
1411
|
+
return openBlock(), createElementBlock(
|
|
1412
|
+
Fragment,
|
|
1413
|
+
{ key: index },
|
|
1414
|
+
[
|
|
1415
|
+
(_ctx.isCount ? index < visibleCount.value : !item.hide) ? (openBlock(), createBlock(unref(ToTag), {
|
|
1416
|
+
key: 0,
|
|
1417
|
+
class: "to-select-item",
|
|
1418
|
+
removable: _ctx.removable && !disabled.value,
|
|
1419
|
+
onRemove: ($event) => removeTag(item)
|
|
1420
|
+
}, {
|
|
1421
|
+
default: withCtx(() => [
|
|
1422
|
+
createTextVNode(
|
|
1423
|
+
toDisplayString(item[iLabelText.value]),
|
|
1424
|
+
1
|
|
1425
|
+
/* TEXT */
|
|
1426
|
+
)
|
|
1427
|
+
]),
|
|
1428
|
+
_: 2
|
|
1429
|
+
/* DYNAMIC */
|
|
1430
|
+
}, 1032, ["removable", "onRemove"])) : createCommentVNode("v-if", true)
|
|
1431
|
+
],
|
|
1432
|
+
64
|
|
1433
|
+
/* STABLE_FRAGMENT */
|
|
1434
|
+
);
|
|
1435
|
+
}),
|
|
1436
|
+
128
|
|
1437
|
+
/* KEYED_FRAGMENT */
|
|
1438
|
+
)),
|
|
1439
|
+
createCommentVNode(" \u6298\u53E0\u6A21\u5F0F\u4E0B\u663E\u793A +N "),
|
|
1440
|
+
_ctx.isCount && overflowCount.value > 0 ? (openBlock(), createBlock(unref(ToTag), {
|
|
1441
|
+
key: 0,
|
|
1442
|
+
class: "to-select-overflow"
|
|
1443
|
+
}, {
|
|
1444
|
+
default: withCtx(() => [
|
|
1445
|
+
createTextVNode(
|
|
1446
|
+
" +" + toDisplayString(overflowCount.value),
|
|
1447
|
+
1
|
|
1448
|
+
/* TEXT */
|
|
1449
|
+
)
|
|
1450
|
+
]),
|
|
1451
|
+
_: 1
|
|
1452
|
+
/* STABLE */
|
|
1453
|
+
})) : createCommentVNode("v-if", true)
|
|
1454
|
+
],
|
|
1455
|
+
64
|
|
1456
|
+
/* STABLE_FRAGMENT */
|
|
1457
|
+
)) : createCommentVNode("v-if", true),
|
|
1458
|
+
createCommentVNode(" \u591A\u9009\u8F93\u5165\u6846\u533A\u57DF\uFF08\u975E\u624B\u673A\u7AEF\u6216\u624B\u673A\u7AEF\u65E0\u9009\u4E2D\u9879\u65F6\u663E\u793A\uFF09 "),
|
|
1459
|
+
!unref($phone) || unref($phone) && unref(selected).length === 0 ? (openBlock(), createElementBlock("span", {
|
|
1316
1460
|
key: 1,
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1461
|
+
class: "to-select-input"
|
|
1462
|
+
}, [
|
|
1463
|
+
createCommentVNode(" \u591A\u9009\u53EF\u8F93\u5165\u6A21\u5F0F\u7684\u8F93\u5165\u6846 "),
|
|
1464
|
+
_ctx.inputable && !_ctx.filterable && !_ctx.remoteMethod ? (openBlock(), createBlock(unref(ToInput), {
|
|
1465
|
+
key: 0,
|
|
1466
|
+
ref_key: "input",
|
|
1467
|
+
ref: input,
|
|
1468
|
+
modelValue: multipleInputValue.value,
|
|
1469
|
+
"onUpdate:modelValue": ($event) => multipleInputValue.value = $event,
|
|
1470
|
+
"sp-chars": _ctx.spChars,
|
|
1471
|
+
disabled: unref($phone),
|
|
1472
|
+
"prevent-focus": "",
|
|
1473
|
+
mode: "none",
|
|
1474
|
+
placeholder: unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || unref(t)("to.common.placeholder.select"),
|
|
1475
|
+
onFocus: multipleInputFocus,
|
|
1476
|
+
onBlur: multipleInputBlur
|
|
1477
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "disabled", "placeholder"])) : createCommentVNode("v-if", true),
|
|
1478
|
+
createCommentVNode(" \u591A\u9009\u53EF\u8FC7\u6EE4\u6A21\u5F0F filterable = true \u6216 \u8FDC\u7A0B\u641C\u7D22\u6A21\u5F0F remoteMethod \u5B58\u5728\u7684\u8F93\u5165\u6846 "),
|
|
1479
|
+
_ctx.filterable || _ctx.remoteMethod ? (openBlock(), createBlock(unref(ToInput), {
|
|
1480
|
+
key: 1,
|
|
1481
|
+
ref_key: "filter",
|
|
1482
|
+
ref: filter,
|
|
1483
|
+
modelValue: multipleFilterValue.value,
|
|
1484
|
+
"onUpdate:modelValue": ($event) => multipleFilterValue.value = $event,
|
|
1485
|
+
"sp-chars": _ctx.inputable ? _ctx.spChars : false,
|
|
1486
|
+
disabled: unref($phone),
|
|
1487
|
+
"prevent-focus": "",
|
|
1488
|
+
mode: "none",
|
|
1489
|
+
placeholder: unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || unref(t)("to.common.placeholder.select"),
|
|
1490
|
+
onFocus: multipleFilterFocus,
|
|
1491
|
+
onBlur: multipleFilterBlur
|
|
1492
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "disabled", "placeholder"])) : createCommentVNode("v-if", true),
|
|
1493
|
+
createCommentVNode(" \u591A\u9009\u81EA\u5B9A\u4E49\u6570\u636E\u8BBE\u7F6E\u6A21\u5F0F\u7684\u8F93\u5165\u6846 "),
|
|
1494
|
+
_ctx.setDataFn ? (openBlock(), createBlock(unref(ToInput), {
|
|
1495
|
+
key: 2,
|
|
1496
|
+
ref_key: "filter",
|
|
1497
|
+
ref: filter,
|
|
1498
|
+
modelValue: setDataInputValue.value,
|
|
1499
|
+
"onUpdate:modelValue": ($event) => setDataInputValue.value = $event,
|
|
1500
|
+
"sp-chars": _ctx.inputable ? _ctx.spChars : false,
|
|
1501
|
+
"prevent-focus": "",
|
|
1502
|
+
mode: "none",
|
|
1503
|
+
placeholder: unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || unref(t)("to.common.placeholder.select"),
|
|
1504
|
+
onFocus: multipleFilterFocus,
|
|
1505
|
+
onBlur: multipleFilterBlur
|
|
1506
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "placeholder"])) : createCommentVNode("v-if", true)
|
|
1507
|
+
])) : createCommentVNode("v-if", true)
|
|
1508
|
+
],
|
|
1509
|
+
2
|
|
1510
|
+
/* CLASS */
|
|
1511
|
+
)
|
|
1345
1512
|
],
|
|
1346
1513
|
2112
|
|
1347
1514
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
@@ -1354,6 +1521,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1354
1521
|
64
|
|
1355
1522
|
/* STABLE_FRAGMENT */
|
|
1356
1523
|
)),
|
|
1524
|
+
createCommentVNode(" \u6E05\u9664\u56FE\u6807 "),
|
|
1525
|
+
showClearIcon.value ? (openBlock(), createBlock(unref(ToIcon), {
|
|
1526
|
+
key: 3,
|
|
1527
|
+
class: "to-select-clear",
|
|
1528
|
+
link: "",
|
|
1529
|
+
value: "close",
|
|
1530
|
+
onClick: withModifiers(clearClick, ["stop"])
|
|
1531
|
+
})) : createCommentVNode("v-if", true),
|
|
1357
1532
|
createCommentVNode(" \u4E0B\u62C9\u7BAD\u5934\u56FE\u6807 "),
|
|
1358
1533
|
createElementVNode(
|
|
1359
1534
|
"span",
|