vxe-pc-ui 3.7.4 → 3.7.6
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/icon/style.css +1 -1
- package/es/language/ar-EG.js +19 -1
- package/es/language/de-DE.js +19 -1
- package/es/language/en-US.js +20 -2
- package/es/language/es-ES.js +19 -1
- package/es/language/fr-FR.js +19 -1
- package/es/language/hu-HU.js +19 -1
- package/es/language/hy-AM.js +18 -0
- package/es/language/id-ID.js +19 -1
- package/es/language/it-IT.js +19 -1
- package/es/language/ja-JP.js +19 -1
- package/es/language/ko-KR.js +19 -1
- package/es/language/ms-MY.js +19 -1
- package/es/language/nb-NO.js +19 -1
- package/es/language/pt-BR.js +19 -1
- package/es/language/ru-RU.js +19 -1
- package/es/language/th-TH.js +19 -1
- package/es/language/ug-CN.js +19 -1
- package/es/language/uk-UA.js +19 -1
- package/es/language/uz-UZ.js +19 -1
- package/es/language/vi-VN.js +19 -1
- package/es/language/zh-CHT.js +19 -1
- package/es/language/zh-CN.js +18 -0
- package/es/list/src/list.js +1 -1
- package/es/select/src/select.js +138 -41
- package/es/select/style.css +21 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +1160 -601
- package/es/tree/src/util.js +31 -0
- package/es/tree/style.css +23 -26
- package/es/tree/style.min.css +1 -1
- package/es/tree-select/src/tree-select.js +258 -24
- package/es/tree-select/style.css +36 -1
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +20 -4
- package/es/ui/src/dom.js +9 -0
- package/es/ui/src/log.js +1 -1
- package/es/vxe-select/style.css +21 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tree/style.css +23 -26
- package/es/vxe-tree/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +36 -1
- package/es/vxe-tree-select/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +1541 -532
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +19 -1
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +19 -1
- package/lib/language/de-DE.js +19 -1
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +19 -1
- package/lib/language/en-US.js +20 -2
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +20 -2
- package/lib/language/es-ES.js +19 -1
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +19 -1
- package/lib/language/fr-FR.js +19 -1
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +19 -1
- package/lib/language/hu-HU.js +19 -1
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +19 -1
- package/lib/language/hy-AM.js +18 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +18 -0
- package/lib/language/id-ID.js +19 -1
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +19 -1
- package/lib/language/it-IT.js +19 -1
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +19 -1
- package/lib/language/ja-JP.js +19 -1
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +19 -1
- package/lib/language/ko-KR.js +19 -1
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +19 -1
- package/lib/language/ms-MY.js +19 -1
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +19 -1
- package/lib/language/nb-NO.js +19 -1
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +19 -1
- package/lib/language/pt-BR.js +19 -1
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +19 -1
- package/lib/language/ru-RU.js +19 -1
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +19 -1
- package/lib/language/th-TH.js +19 -1
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +19 -1
- package/lib/language/ug-CN.js +19 -1
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +19 -1
- package/lib/language/uk-UA.js +19 -1
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +19 -1
- package/lib/language/uz-UZ.js +19 -1
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +19 -1
- package/lib/language/vi-VN.js +19 -1
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +19 -1
- package/lib/language/zh-CHT.js +19 -1
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +19 -1
- package/lib/language/zh-CN.js +18 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +18 -0
- package/lib/list/src/list.js +1 -1
- package/lib/list/src/list.min.js +1 -1
- package/lib/select/src/select.js +145 -45
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +21 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tree/src/tree.js +1223 -626
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree/src/util.js +37 -0
- package/lib/tree/src/util.min.js +1 -0
- package/lib/tree/style/style.css +23 -26
- package/lib/tree/style/style.min.css +1 -1
- package/lib/tree-select/src/tree-select.js +265 -26
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/tree-select/style/style.css +36 -1
- package/lib/tree-select/style/style.min.css +1 -1
- package/lib/ui/index.js +20 -4
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +10 -0
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-select/style/style.css +21 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tree/style/style.css +23 -26
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +36 -1
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/language/ar-EG.ts +19 -1
- package/packages/language/de-DE.ts +19 -1
- package/packages/language/en-US.ts +20 -2
- package/packages/language/es-ES.ts +19 -1
- package/packages/language/fr-FR.ts +19 -1
- package/packages/language/hu-HU.ts +19 -1
- package/packages/language/hy-AM.ts +18 -0
- package/packages/language/id-ID.ts +19 -1
- package/packages/language/it-IT.ts +19 -1
- package/packages/language/ja-JP.ts +19 -1
- package/packages/language/ko-KR.ts +19 -1
- package/packages/language/ms-MY.ts +19 -1
- package/packages/language/nb-NO.ts +19 -1
- package/packages/language/pt-BR.ts +19 -1
- package/packages/language/ru-RU.ts +19 -1
- package/packages/language/th-TH.ts +19 -1
- package/packages/language/ug-CN.ts +19 -1
- package/packages/language/uk-UA.ts +19 -1
- package/packages/language/uz-UZ.ts +19 -1
- package/packages/language/vi-VN.ts +19 -1
- package/packages/language/zh-CHT.ts +19 -1
- package/packages/language/zh-CN.ts +18 -0
- package/packages/list/src/list.ts +1 -1
- package/packages/select/src/select.ts +144 -44
- package/packages/tree/src/tree.ts +1206 -626
- package/packages/tree/src/util.ts +34 -0
- package/packages/tree-select/src/tree-select.ts +272 -26
- package/packages/ui/index.ts +19 -3
- package/packages/ui/src/dom.ts +10 -0
- package/styles/components/select.scss +19 -0
- package/styles/components/tree-select.scss +36 -1
- package/styles/components/tree.scss +28 -31
- package/types/components/button.d.ts +11 -1
- package/types/components/grid.d.ts +5 -0
- package/types/components/icon-picker.d.ts +11 -1
- package/types/components/input.d.ts +2 -2
- package/types/components/select.d.ts +29 -40
- package/types/components/table.d.ts +2 -4
- package/types/components/tree-select.d.ts +72 -12
- package/types/components/tree.d.ts +129 -8
- /package/es/icon/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
- /package/es/icon/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
- /package/es/icon/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
- /package/es/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
- /package/es/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
- /package/es/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
- /package/lib/icon/style/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
- /package/lib/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
- /package/lib/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
- /package/lib/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
package/es/language/ug-CN.js
CHANGED
|
@@ -96,9 +96,27 @@ export default {
|
|
|
96
96
|
operError: 'خاتالىق كۆرۈلدى،مەشخۇلات مەغلۇپ بولدى'
|
|
97
97
|
},
|
|
98
98
|
select: {
|
|
99
|
+
clear: '清除',
|
|
100
|
+
allChecked: '全选',
|
|
101
|
+
total: '{0} / {1}',
|
|
99
102
|
search: 'ئىزدەش',
|
|
100
103
|
loadingText: 'يۈكلىنىۋاتىدۇ',
|
|
101
|
-
emptyText: 'ھازىرچە ئۇچۇر يوق'
|
|
104
|
+
emptyText: 'ھازىرچە ئۇچۇر يوق',
|
|
105
|
+
maxOpt: '最大可选择的数量不能超过 {0} 个',
|
|
106
|
+
overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
|
|
107
|
+
searchEmpty: '未匹配到数据!'
|
|
108
|
+
},
|
|
109
|
+
tree: {
|
|
110
|
+
searchEmpty: '未匹配到数据!'
|
|
111
|
+
},
|
|
112
|
+
treeSelect: {
|
|
113
|
+
clearChecked: '清除',
|
|
114
|
+
allChecked: '全选',
|
|
115
|
+
allExpand: '全部展开',
|
|
116
|
+
clearExpand: '全部收起',
|
|
117
|
+
total: '已选 {0}',
|
|
118
|
+
search: '搜索',
|
|
119
|
+
emptyText: '暂无数据'
|
|
102
120
|
},
|
|
103
121
|
pager: {
|
|
104
122
|
goto: 'ئالغا',
|
package/es/language/uk-UA.js
CHANGED
|
@@ -96,9 +96,27 @@ export default {
|
|
|
96
96
|
operError: 'Сталася помилка, і операція не вдалася!'
|
|
97
97
|
},
|
|
98
98
|
select: {
|
|
99
|
+
clear: '清除',
|
|
100
|
+
allChecked: '全选',
|
|
101
|
+
total: '{0} / {1}',
|
|
99
102
|
search: 'обшук',
|
|
100
103
|
loadingText: 'навантаження',
|
|
101
|
-
emptyText: 'Ще немає даних'
|
|
104
|
+
emptyText: 'Ще немає даних',
|
|
105
|
+
maxOpt: '最大可选择的数量不能超过 {0} 个',
|
|
106
|
+
overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
|
|
107
|
+
searchEmpty: '未匹配到数据!'
|
|
108
|
+
},
|
|
109
|
+
tree: {
|
|
110
|
+
searchEmpty: '未匹配到数据!'
|
|
111
|
+
},
|
|
112
|
+
treeSelect: {
|
|
113
|
+
clearChecked: '清除',
|
|
114
|
+
allChecked: '全选',
|
|
115
|
+
allExpand: '全部展开',
|
|
116
|
+
clearExpand: '全部收起',
|
|
117
|
+
total: '已选 {0}',
|
|
118
|
+
search: '搜索',
|
|
119
|
+
emptyText: '暂无数据'
|
|
102
120
|
},
|
|
103
121
|
pager: {
|
|
104
122
|
goto: 'Йти',
|
package/es/language/uz-UZ.js
CHANGED
|
@@ -96,9 +96,27 @@ export default {
|
|
|
96
96
|
operError: "Xato yuz berdi va operatsiya muvaffaqiyatsiz bo'ldi!"
|
|
97
97
|
},
|
|
98
98
|
select: {
|
|
99
|
+
clear: '清除',
|
|
100
|
+
allChecked: '全选',
|
|
101
|
+
total: '{0} / {1}',
|
|
99
102
|
search: 'qidirish',
|
|
100
103
|
loadingText: 'yuklamoq',
|
|
101
|
-
emptyText: "Hali ma'lumot yo'q"
|
|
104
|
+
emptyText: "Hali ma'lumot yo'q",
|
|
105
|
+
maxOpt: '最大可选择的数量不能超过 {0} 个',
|
|
106
|
+
overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
|
|
107
|
+
searchEmpty: '未匹配到数据!'
|
|
108
|
+
},
|
|
109
|
+
tree: {
|
|
110
|
+
searchEmpty: '未匹配到数据!'
|
|
111
|
+
},
|
|
112
|
+
treeSelect: {
|
|
113
|
+
clearChecked: '清除',
|
|
114
|
+
allChecked: '全选',
|
|
115
|
+
allExpand: '全部展开',
|
|
116
|
+
clearExpand: '全部收起',
|
|
117
|
+
total: '{0} / {1}',
|
|
118
|
+
search: '搜索',
|
|
119
|
+
emptyText: '暂无数据'
|
|
102
120
|
},
|
|
103
121
|
pager: {
|
|
104
122
|
goto: 'Bormoq',
|
package/es/language/vi-VN.js
CHANGED
|
@@ -96,9 +96,27 @@ export default {
|
|
|
96
96
|
operError: 'Một lỗi đã xảy ra và hoạt động không thành công!'
|
|
97
97
|
},
|
|
98
98
|
select: {
|
|
99
|
+
clear: '清除',
|
|
100
|
+
allChecked: '全选',
|
|
101
|
+
total: '{0} / {1}',
|
|
99
102
|
search: 'tìm kiếm',
|
|
100
103
|
loadingText: 'đang tải',
|
|
101
|
-
emptyText: 'Chưa có dữ liệu'
|
|
104
|
+
emptyText: 'Chưa có dữ liệu',
|
|
105
|
+
maxOpt: '最大可选择的数量不能超过 {0} 个',
|
|
106
|
+
overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
|
|
107
|
+
searchEmpty: '未匹配到数据!'
|
|
108
|
+
},
|
|
109
|
+
tree: {
|
|
110
|
+
searchEmpty: '未匹配到数据!'
|
|
111
|
+
},
|
|
112
|
+
treeSelect: {
|
|
113
|
+
clearChecked: '清除',
|
|
114
|
+
allChecked: '全选',
|
|
115
|
+
allExpand: '全部展开',
|
|
116
|
+
clearExpand: '全部收起',
|
|
117
|
+
total: '已选 {0}',
|
|
118
|
+
search: '搜索',
|
|
119
|
+
emptyText: '暂无数据'
|
|
102
120
|
},
|
|
103
121
|
pager: {
|
|
104
122
|
goto: 'Đi',
|
package/es/language/zh-CHT.js
CHANGED
|
@@ -96,9 +96,27 @@ export default {
|
|
|
96
96
|
operError: '發生錯誤,操作失敗!'
|
|
97
97
|
},
|
|
98
98
|
select: {
|
|
99
|
+
clear: '清除',
|
|
100
|
+
allChecked: '全选',
|
|
101
|
+
total: '{0} / {1}',
|
|
99
102
|
search: '搜尋',
|
|
100
103
|
loadingText: '載入中',
|
|
101
|
-
emptyText: '暫無數據'
|
|
104
|
+
emptyText: '暫無數據',
|
|
105
|
+
maxOpt: '最大可选择的数量不能超过 {0} 个',
|
|
106
|
+
overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
|
|
107
|
+
searchEmpty: '未匹配到数据!'
|
|
108
|
+
},
|
|
109
|
+
tree: {
|
|
110
|
+
searchEmpty: '未匹配到数据!'
|
|
111
|
+
},
|
|
112
|
+
treeSelect: {
|
|
113
|
+
clearChecked: '清除',
|
|
114
|
+
allChecked: '全选',
|
|
115
|
+
allExpand: '全部展开',
|
|
116
|
+
clearExpand: '全部收起',
|
|
117
|
+
total: '已选 {0}',
|
|
118
|
+
search: '搜索',
|
|
119
|
+
emptyText: '暂无数据'
|
|
102
120
|
},
|
|
103
121
|
pager: {
|
|
104
122
|
goto: '前往',
|
package/es/language/zh-CN.js
CHANGED
|
@@ -96,8 +96,26 @@ export default {
|
|
|
96
96
|
operError: '发生错误,操作失败!'
|
|
97
97
|
},
|
|
98
98
|
select: {
|
|
99
|
+
clear: '清除',
|
|
100
|
+
allChecked: '全选',
|
|
101
|
+
total: '{0} / {1}',
|
|
99
102
|
search: '搜索',
|
|
100
103
|
loadingText: '加载中',
|
|
104
|
+
emptyText: '暂无数据',
|
|
105
|
+
maxSize: '最大可选择的数量不能超过 {0} 个',
|
|
106
|
+
overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
|
|
107
|
+
searchEmpty: '未匹配到数据!'
|
|
108
|
+
},
|
|
109
|
+
tree: {
|
|
110
|
+
searchEmpty: '未匹配到数据!'
|
|
111
|
+
},
|
|
112
|
+
treeSelect: {
|
|
113
|
+
clearChecked: '清除',
|
|
114
|
+
allChecked: '全选',
|
|
115
|
+
allExpand: '全部展开',
|
|
116
|
+
clearExpand: '全部收起',
|
|
117
|
+
total: '已选 {0}',
|
|
118
|
+
search: '搜索',
|
|
101
119
|
emptyText: '暂无数据'
|
|
102
120
|
},
|
|
103
121
|
pager: {
|
package/es/list/src/list.js
CHANGED
|
@@ -359,7 +359,7 @@ export default {
|
|
|
359
359
|
ref: 'refVirtualBody',
|
|
360
360
|
class: 'vxe-list--body',
|
|
361
361
|
style: {
|
|
362
|
-
|
|
362
|
+
transform: `translateY(${topSpaceHeight}px)`
|
|
363
363
|
}
|
|
364
364
|
}, defaultSlot ? $xeList.callSlot(defaultSlot, { items }, h) : [])
|
|
365
365
|
]),
|
package/es/select/src/select.js
CHANGED
|
@@ -3,8 +3,9 @@ import XEUtils from 'xe-utils';
|
|
|
3
3
|
import { getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, globalMixins, renderEmptyElement } from '../../ui';
|
|
4
4
|
import { getEventTargetNode, updatePanelPlacement } from '../../ui/src/dom';
|
|
5
5
|
import { getLastZIndex, nextZIndex, getFuncText } from '../../ui/src/utils';
|
|
6
|
-
import VxeInputComponent from '../../input/src/input';
|
|
7
6
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
7
|
+
import VxeInputComponent from '../../input/src/input';
|
|
8
|
+
import VxeButtonComponent from '../../button/src/button';
|
|
8
9
|
function isOptionVisible(option) {
|
|
9
10
|
return option.visible !== false;
|
|
10
11
|
}
|
|
@@ -63,22 +64,43 @@ export default {
|
|
|
63
64
|
filterable: Boolean,
|
|
64
65
|
filterMethod: Function,
|
|
65
66
|
remote: Boolean,
|
|
66
|
-
// 已废弃,被 remote-config.queryMethod 替换
|
|
67
|
-
remoteMethod: Function,
|
|
68
67
|
remoteConfig: Object,
|
|
69
68
|
emptyText: String,
|
|
69
|
+
showTotalButoon: {
|
|
70
|
+
type: Boolean,
|
|
71
|
+
default: () => getConfig().select.showTotalButoon
|
|
72
|
+
},
|
|
73
|
+
showCheckedButoon: {
|
|
74
|
+
type: Boolean,
|
|
75
|
+
default: () => getConfig().select.showCheckedButoon
|
|
76
|
+
},
|
|
77
|
+
showClearButton: {
|
|
78
|
+
type: Boolean,
|
|
79
|
+
default: () => getConfig().select.showClearButton
|
|
80
|
+
},
|
|
70
81
|
transfer: {
|
|
71
82
|
type: Boolean,
|
|
72
83
|
default: null
|
|
73
84
|
},
|
|
74
85
|
virtualYConfig: Object,
|
|
75
86
|
scrollY: Object,
|
|
76
|
-
|
|
87
|
+
/**
|
|
88
|
+
* 已废弃,被 remote-config.queryMethod 替换
|
|
89
|
+
* @deprecated
|
|
90
|
+
*/
|
|
91
|
+
remoteMethod: Function,
|
|
92
|
+
/**
|
|
93
|
+
* 已废弃,被 option-config.keyField 替换
|
|
94
|
+
* @deprecated
|
|
95
|
+
*/
|
|
77
96
|
optionId: {
|
|
78
97
|
type: String,
|
|
79
98
|
default: () => getConfig().select.optionId
|
|
80
99
|
},
|
|
81
|
-
|
|
100
|
+
/**
|
|
101
|
+
* 已废弃,被 option-config.useKey 替换
|
|
102
|
+
* @deprecated
|
|
103
|
+
*/
|
|
82
104
|
optionKey: Boolean
|
|
83
105
|
},
|
|
84
106
|
inject: {
|
|
@@ -113,7 +135,6 @@ export default {
|
|
|
113
135
|
bodyHeight: 0,
|
|
114
136
|
topSpaceHeight: 0,
|
|
115
137
|
optList: [],
|
|
116
|
-
afterVisibleList: [],
|
|
117
138
|
staticOptions: [],
|
|
118
139
|
reactFlag: 1,
|
|
119
140
|
currentOption: null,
|
|
@@ -130,6 +151,7 @@ export default {
|
|
|
130
151
|
const internalData = {
|
|
131
152
|
synchData: [],
|
|
132
153
|
fullData: [],
|
|
154
|
+
afterVisibleList: [],
|
|
133
155
|
optAddMaps: {},
|
|
134
156
|
optGroupKeyMaps: {},
|
|
135
157
|
optFullValMaps: {},
|
|
@@ -248,13 +270,10 @@ export default {
|
|
|
248
270
|
computeIsMaximize() {
|
|
249
271
|
const $xeSelect = this;
|
|
250
272
|
const props = $xeSelect;
|
|
251
|
-
const { value
|
|
252
|
-
|
|
253
|
-
return (XEUtils.isArray(value) ? value.length : (XEUtils.eqNull(value) ? 0 : 1)) >= XEUtils.toNumber(max);
|
|
254
|
-
}
|
|
255
|
-
return false;
|
|
273
|
+
const { value: modelValue } = props;
|
|
274
|
+
return $xeSelect.checkMaxLimit(modelValue);
|
|
256
275
|
},
|
|
257
|
-
|
|
276
|
+
computeVirtualYOpts() {
|
|
258
277
|
const $xeSelect = this;
|
|
259
278
|
const props = $xeSelect;
|
|
260
279
|
return Object.assign({}, getConfig().select.virtualYConfig || getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
|
|
@@ -355,15 +374,19 @@ export default {
|
|
|
355
374
|
const $xeSelect = this;
|
|
356
375
|
const reactData = $xeSelect.reactData;
|
|
357
376
|
const $input = $xeSelect.$refs.refInput;
|
|
377
|
+
if ($input) {
|
|
378
|
+
$input.blur();
|
|
379
|
+
}
|
|
358
380
|
reactData.isActivated = true;
|
|
359
|
-
$input.blur();
|
|
360
381
|
return $xeSelect.$nextTick();
|
|
361
382
|
},
|
|
362
383
|
blur() {
|
|
363
384
|
const $xeSelect = this;
|
|
364
385
|
const reactData = $xeSelect.reactData;
|
|
365
386
|
const $input = $xeSelect.$refs.refInput;
|
|
366
|
-
$input
|
|
387
|
+
if ($input) {
|
|
388
|
+
$input.blur();
|
|
389
|
+
}
|
|
367
390
|
reactData.isActivated = false;
|
|
368
391
|
return $xeSelect.$nextTick();
|
|
369
392
|
},
|
|
@@ -391,6 +414,15 @@ export default {
|
|
|
391
414
|
const optid = option[$xeSelect.getOptKey()];
|
|
392
415
|
return optid ? encodeURIComponent(optid) : '';
|
|
393
416
|
},
|
|
417
|
+
checkMaxLimit(selectVals) {
|
|
418
|
+
const $xeSelect = this;
|
|
419
|
+
const props = $xeSelect;
|
|
420
|
+
const { multiple, max } = props;
|
|
421
|
+
if (multiple && max) {
|
|
422
|
+
return (XEUtils.isArray(selectVals) ? selectVals.length : (XEUtils.eqNull(selectVals) ? 0 : 1)) >= XEUtils.toNumber(max);
|
|
423
|
+
}
|
|
424
|
+
return false;
|
|
425
|
+
},
|
|
394
426
|
getRemoteSelectLabel(value) {
|
|
395
427
|
const $xeSelect = this;
|
|
396
428
|
const internalData = $xeSelect.internalData;
|
|
@@ -450,7 +482,7 @@ export default {
|
|
|
450
482
|
cacheItem._index = index;
|
|
451
483
|
}
|
|
452
484
|
});
|
|
453
|
-
|
|
485
|
+
internalData.afterVisibleList = avList;
|
|
454
486
|
return $xeSelect.$nextTick();
|
|
455
487
|
},
|
|
456
488
|
refreshOption() {
|
|
@@ -591,7 +623,7 @@ export default {
|
|
|
591
623
|
reactData.isAniVisible = true;
|
|
592
624
|
if (filterable) {
|
|
593
625
|
if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullData.length) {
|
|
594
|
-
$xeSelect.
|
|
626
|
+
$xeSelect.handleSearchEvent();
|
|
595
627
|
}
|
|
596
628
|
else {
|
|
597
629
|
$xeSelect.handleOption();
|
|
@@ -650,6 +682,38 @@ export default {
|
|
|
650
682
|
$xeSelect.clearValueEvent($event, null);
|
|
651
683
|
$xeSelect.hideOptionPanel();
|
|
652
684
|
},
|
|
685
|
+
allCheckedPanelEvent(params) {
|
|
686
|
+
const $xeSelect = this;
|
|
687
|
+
const props = $xeSelect;
|
|
688
|
+
const reactData = $xeSelect.reactData;
|
|
689
|
+
const { $event } = params;
|
|
690
|
+
const { value: modelValue, multiple } = props;
|
|
691
|
+
const { optList } = reactData;
|
|
692
|
+
const valueField = $xeSelect.computeValueField;
|
|
693
|
+
if (multiple) {
|
|
694
|
+
const multipleValue = XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue]);
|
|
695
|
+
for (let i = 0; i < optList.length; i++) {
|
|
696
|
+
const option = optList[i];
|
|
697
|
+
const selectValue = option[valueField];
|
|
698
|
+
// 检测是否超过最大可选数量
|
|
699
|
+
if ($xeSelect.checkMaxLimit(multipleValue)) {
|
|
700
|
+
break;
|
|
701
|
+
}
|
|
702
|
+
if (!multipleValue.some(val => val === selectValue)) {
|
|
703
|
+
multipleValue.push(selectValue);
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
$xeSelect.changeEvent($event, multipleValue);
|
|
707
|
+
$xeSelect.dispatchEvent('all-change', { value: multipleValue }, $event);
|
|
708
|
+
$xeSelect.hideOptionPanel();
|
|
709
|
+
}
|
|
710
|
+
},
|
|
711
|
+
clearCheckedPanelEvent(params) {
|
|
712
|
+
const $xeSelect = this;
|
|
713
|
+
const { $event } = params;
|
|
714
|
+
$xeSelect.clearValueEvent($event, null);
|
|
715
|
+
$xeSelect.hideOptionPanel();
|
|
716
|
+
},
|
|
653
717
|
changeOptionEvent(evnt, option) {
|
|
654
718
|
const $xeSelect = this;
|
|
655
719
|
const props = $xeSelect;
|
|
@@ -737,8 +801,8 @@ export default {
|
|
|
737
801
|
const reactData = $xeSelect.reactData;
|
|
738
802
|
const internalData = $xeSelect.internalData;
|
|
739
803
|
const { allowCreate } = props;
|
|
740
|
-
const {
|
|
741
|
-
const { optFullValMaps, optAddMaps } = internalData;
|
|
804
|
+
const { optList } = reactData;
|
|
805
|
+
const { optFullValMaps, optAddMaps, afterVisibleList } = internalData;
|
|
742
806
|
const valueField = $xeSelect.computeValueField;
|
|
743
807
|
let fullList = afterVisibleList;
|
|
744
808
|
let offsetAddIndex = 0;
|
|
@@ -962,14 +1026,11 @@ export default {
|
|
|
962
1026
|
}
|
|
963
1027
|
}
|
|
964
1028
|
},
|
|
965
|
-
checkOptionDisabled(isSelected, option
|
|
1029
|
+
checkOptionDisabled(isSelected, option) {
|
|
966
1030
|
const $xeSelect = this;
|
|
967
1031
|
if (option.disabled) {
|
|
968
1032
|
return true;
|
|
969
1033
|
}
|
|
970
|
-
if (group && group.disabled) {
|
|
971
|
-
return true;
|
|
972
|
-
}
|
|
973
1034
|
const isMaximize = $xeSelect.computeIsMaximize;
|
|
974
1035
|
if (isMaximize && !isSelected) {
|
|
975
1036
|
return true;
|
|
@@ -980,8 +1041,8 @@ export default {
|
|
|
980
1041
|
const $xeSelect = this;
|
|
981
1042
|
const reactData = $xeSelect.reactData;
|
|
982
1043
|
const internalData = $xeSelect.internalData;
|
|
983
|
-
const { scrollYLoad
|
|
984
|
-
const { scrollYStore } = internalData;
|
|
1044
|
+
const { scrollYLoad } = reactData;
|
|
1045
|
+
const { scrollYStore, afterVisibleList } = internalData;
|
|
985
1046
|
reactData.bodyHeight = scrollYLoad ? afterVisibleList.length * scrollYStore.rowHeight : 0;
|
|
986
1047
|
reactData.topSpaceHeight = scrollYLoad ? Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0) : 0;
|
|
987
1048
|
},
|
|
@@ -991,8 +1052,8 @@ export default {
|
|
|
991
1052
|
const reactData = $xeSelect.reactData;
|
|
992
1053
|
const internalData = $xeSelect.internalData;
|
|
993
1054
|
const { filterable, allowCreate } = props;
|
|
994
|
-
const { scrollYLoad,
|
|
995
|
-
const { optAddMaps, scrollYStore } = internalData;
|
|
1055
|
+
const { scrollYLoad, searchValue } = reactData;
|
|
1056
|
+
const { optAddMaps, scrollYStore, afterVisibleList } = internalData;
|
|
996
1057
|
const labelField = $xeSelect.computeLabelField;
|
|
997
1058
|
const valueField = $xeSelect.computeValueField;
|
|
998
1059
|
const restList = scrollYLoad ? afterVisibleList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : afterVisibleList.slice(0);
|
|
@@ -1023,13 +1084,10 @@ export default {
|
|
|
1023
1084
|
const { scrollYLoad } = reactData;
|
|
1024
1085
|
const { scrollYStore } = internalData;
|
|
1025
1086
|
const virtualBodyElem = $xeSelect.$refs.refVirtualBody;
|
|
1026
|
-
const
|
|
1087
|
+
const virtualYOpts = $xeSelect.computeVirtualYOpts;
|
|
1027
1088
|
let rowHeight = 0;
|
|
1028
1089
|
let firstItemElem;
|
|
1029
1090
|
if (virtualBodyElem) {
|
|
1030
|
-
if (sYOpts.sItem) {
|
|
1031
|
-
firstItemElem = virtualBodyElem.querySelector(sYOpts.sItem);
|
|
1032
|
-
}
|
|
1033
1091
|
if (!firstItemElem) {
|
|
1034
1092
|
firstItemElem = virtualBodyElem.children[0];
|
|
1035
1093
|
}
|
|
@@ -1043,7 +1101,7 @@ export default {
|
|
|
1043
1101
|
if (scrollYLoad) {
|
|
1044
1102
|
const scrollBodyElem = $xeSelect.$refs.refVirtualWrapper;
|
|
1045
1103
|
const visibleYSize = Math.max(8, scrollBodyElem ? Math.ceil(scrollBodyElem.clientHeight / rowHeight) : 0);
|
|
1046
|
-
const offsetYSize = Math.max(0, Math.min(2, XEUtils.toNumber(
|
|
1104
|
+
const offsetYSize = Math.max(0, Math.min(2, XEUtils.toNumber(virtualYOpts.oSize)));
|
|
1047
1105
|
scrollYStore.offsetSize = offsetYSize;
|
|
1048
1106
|
scrollYStore.visibleSize = visibleYSize;
|
|
1049
1107
|
scrollYStore.endIndex = Math.max(scrollYStore.startIndex, visibleYSize + offsetYSize, scrollYStore.endIndex);
|
|
@@ -1211,7 +1269,7 @@ export default {
|
|
|
1211
1269
|
$xeSelect.cacheItemMap(datas || []);
|
|
1212
1270
|
const { isLoaded, fullData, scrollYStore } = internalData;
|
|
1213
1271
|
const defaultOpts = $xeSelect.computeDefaultOpts;
|
|
1214
|
-
const
|
|
1272
|
+
const virtualYOpts = $xeSelect.computeVirtualYOpts;
|
|
1215
1273
|
const valueField = $xeSelect.computeValueField;
|
|
1216
1274
|
Object.assign(scrollYStore, {
|
|
1217
1275
|
startIndex: 0,
|
|
@@ -1220,7 +1278,7 @@ export default {
|
|
|
1220
1278
|
});
|
|
1221
1279
|
internalData.synchData = datas || [];
|
|
1222
1280
|
// 如果gt为0,则总是启用
|
|
1223
|
-
reactData.scrollYLoad = !!
|
|
1281
|
+
reactData.scrollYLoad = !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt <= fullData.length);
|
|
1224
1282
|
$xeSelect.handleData();
|
|
1225
1283
|
if (!isLoaded) {
|
|
1226
1284
|
const { selectMode } = defaultOpts;
|
|
@@ -1270,7 +1328,7 @@ export default {
|
|
|
1270
1328
|
//
|
|
1271
1329
|
// Render
|
|
1272
1330
|
//
|
|
1273
|
-
renderOption(h, list
|
|
1331
|
+
renderOption(h, list) {
|
|
1274
1332
|
const $xeSelect = this;
|
|
1275
1333
|
const props = $xeSelect;
|
|
1276
1334
|
const slots = $xeSelect.$scopedSlots;
|
|
@@ -1293,9 +1351,9 @@ export default {
|
|
|
1293
1351
|
const isAdd = !!(allowCreate && optAddMaps[optid]);
|
|
1294
1352
|
const isSelected = !isAdd && (XEUtils.isArray(value) ? value.indexOf(optionValue) > -1 : value === optionValue);
|
|
1295
1353
|
const isVisible = isAdd || (!isOptGroup || isOptionVisible(option));
|
|
1296
|
-
const isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option
|
|
1354
|
+
const isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option);
|
|
1297
1355
|
const defaultSlot = slots ? slots.default : null;
|
|
1298
|
-
const optParams = { option, group: null, $select: $xeSelect };
|
|
1356
|
+
const optParams = { option, group: isOptGroup ? option : null, $select: $xeSelect };
|
|
1299
1357
|
let optLabel = '';
|
|
1300
1358
|
let optVNs = [];
|
|
1301
1359
|
if (optionSlot) {
|
|
@@ -1394,8 +1452,8 @@ export default {
|
|
|
1394
1452
|
const props = $xeSelect;
|
|
1395
1453
|
const slots = $xeSelect.$scopedSlots;
|
|
1396
1454
|
const reactData = $xeSelect.reactData;
|
|
1397
|
-
const { className, popupClassName, loading, filterable } = props;
|
|
1398
|
-
const { initialized, isActivated, isAniVisible, visiblePanel, bodyHeight, topSpaceHeight } = reactData;
|
|
1455
|
+
const { value: modelValue, className, popupClassName, multiple, loading, filterable, showTotalButoon, showCheckedButoon, showClearButton } = props;
|
|
1456
|
+
const { initialized, isActivated, isAniVisible, optList, visiblePanel, bodyHeight, topSpaceHeight } = reactData;
|
|
1399
1457
|
const vSize = $xeSelect.computeSize;
|
|
1400
1458
|
const isDisabled = $xeSelect.computeIsDisabled;
|
|
1401
1459
|
const selectLabel = $xeSelect.computeSelectLabel;
|
|
@@ -1420,6 +1478,7 @@ export default {
|
|
|
1420
1478
|
}, selectLabel)
|
|
1421
1479
|
]);
|
|
1422
1480
|
}
|
|
1481
|
+
const selectVals = XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue]);
|
|
1423
1482
|
return h('div', {
|
|
1424
1483
|
ref: 'refElem',
|
|
1425
1484
|
class: ['vxe-select', className ? (XEUtils.isFunction(className) ? className({ $select: $xeSelect }) : className) : '', {
|
|
@@ -1503,10 +1562,48 @@ export default {
|
|
|
1503
1562
|
})
|
|
1504
1563
|
])
|
|
1505
1564
|
: renderEmptyElement($xeSelect),
|
|
1506
|
-
headerSlot
|
|
1565
|
+
showTotalButoon || (showCheckedButoon && multiple) || showClearButton || headerSlot
|
|
1507
1566
|
? h('div', {
|
|
1508
1567
|
class: 'vxe-select--panel-header'
|
|
1509
|
-
},
|
|
1568
|
+
}, headerSlot
|
|
1569
|
+
? $xeSelect.callSlot(headerSlot, {}, h)
|
|
1570
|
+
: [
|
|
1571
|
+
h('div', {
|
|
1572
|
+
class: 'vxe-tree-select--header-button'
|
|
1573
|
+
}, [
|
|
1574
|
+
showTotalButoon
|
|
1575
|
+
? h('div', {
|
|
1576
|
+
class: 'vxe-tree-select--header-total'
|
|
1577
|
+
}, getI18n('vxe.select.total', [selectVals.length, optList.length]))
|
|
1578
|
+
: renderEmptyElement($xeSelect),
|
|
1579
|
+
h('div', {
|
|
1580
|
+
class: 'vxe-tree-select--header-btns'
|
|
1581
|
+
}, [
|
|
1582
|
+
(showCheckedButoon && multiple)
|
|
1583
|
+
? h(VxeButtonComponent, {
|
|
1584
|
+
props: {
|
|
1585
|
+
content: getI18n('vxe.select.allChecked'),
|
|
1586
|
+
mode: 'text'
|
|
1587
|
+
},
|
|
1588
|
+
on: {
|
|
1589
|
+
click: $xeSelect.allCheckedPanelEvent
|
|
1590
|
+
}
|
|
1591
|
+
})
|
|
1592
|
+
: renderEmptyElement($xeSelect),
|
|
1593
|
+
showClearButton
|
|
1594
|
+
? h(VxeButtonComponent, {
|
|
1595
|
+
props: {
|
|
1596
|
+
content: getI18n('vxe.select.clear'),
|
|
1597
|
+
mode: 'text'
|
|
1598
|
+
},
|
|
1599
|
+
on: {
|
|
1600
|
+
click: $xeSelect.clearCheckedPanelEvent
|
|
1601
|
+
}
|
|
1602
|
+
})
|
|
1603
|
+
: renderEmptyElement($xeSelect)
|
|
1604
|
+
])
|
|
1605
|
+
])
|
|
1606
|
+
])
|
|
1510
1607
|
: renderEmptyElement($xeSelect),
|
|
1511
1608
|
h('div', {
|
|
1512
1609
|
class: 'vxe-select--panel-body'
|
|
@@ -1528,7 +1625,7 @@ export default {
|
|
|
1528
1625
|
ref: 'refVirtualBody',
|
|
1529
1626
|
class: 'vxe-select--body',
|
|
1530
1627
|
style: {
|
|
1531
|
-
|
|
1628
|
+
transform: `translateY(${topSpaceHeight}px)`
|
|
1532
1629
|
}
|
|
1533
1630
|
}, $xeSelect.renderOpts(h))
|
|
1534
1631
|
])
|
package/es/select/style.css
CHANGED
|
@@ -96,6 +96,27 @@
|
|
|
96
96
|
background-color: var(--vxe-ui-layout-background-color);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
.vxe-select--header-button {
|
|
100
|
+
display: flex;
|
|
101
|
+
flex-direction: row;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.vxe-select--header-total {
|
|
105
|
+
display: flex;
|
|
106
|
+
flex-direction: row;
|
|
107
|
+
align-items: center;
|
|
108
|
+
justify-content: center;
|
|
109
|
+
flex-shrink: 0;
|
|
110
|
+
padding-left: 0.8em;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.vxe-select--header-btns {
|
|
114
|
+
display: flex;
|
|
115
|
+
flex-direction: row;
|
|
116
|
+
flex-grow: 1;
|
|
117
|
+
justify-content: right;
|
|
118
|
+
}
|
|
119
|
+
|
|
99
120
|
.vxe-select--panel-header {
|
|
100
121
|
border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
101
122
|
}
|
package/es/select/style.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel.ani--enter>div::after{display:none}.vxe-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select--panel-search{display:block;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{padding:4px 0}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option--wrapper{max-height:18em}.vxe-select-option{position:relative;padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--add{padding-right:2em}.vxe-select-option.is--add:hover .vxe-select-option--add-icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option.is--add .vxe-select-option--add-icon{display:block}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select-option--add-icon{display:none;position:absolute;top:0;right:.6em}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select,.vxe-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-select--panel .vxe-select-option{height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--medium .vxe-select-option{height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small .vxe-select-option{height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini .vxe-select-option{height:var(--vxe-ui-select-option-height-mini)}.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height:var(--vxe-ui-select-option-height-mini)}
|
|
1
|
+
.vxe-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel.ani--enter>div::after{display:none}.vxe-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select--panel-search{display:block;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--header-button{display:flex;flex-direction:row}.vxe-select--header-total{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-shrink:0;padding-left:.8em}.vxe-select--header-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{padding:4px 0}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option--wrapper{max-height:18em}.vxe-select-option{position:relative;padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--add{padding-right:2em}.vxe-select-option.is--add:hover .vxe-select-option--add-icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option.is--add .vxe-select-option--add-icon{display:block}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select-option--add-icon{display:none;position:absolute;top:0;right:.6em}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select,.vxe-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-select--panel .vxe-select-option{height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--medium .vxe-select-option{height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small .vxe-select-option{height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini .vxe-select-option{height:var(--vxe-ui-select-option-height-mini)}.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height:var(--vxe-ui-select-option-height-mini)}
|