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
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { VxeTreeConstructor } from '../../../types'
|
|
2
|
+
|
|
3
|
+
function countTreeExpand ($xeTree: VxeTreeConstructor, prevNode: any) {
|
|
4
|
+
let count = 1
|
|
5
|
+
if (!prevNode) {
|
|
6
|
+
return count
|
|
7
|
+
}
|
|
8
|
+
const props = $xeTree
|
|
9
|
+
const { transform } = props
|
|
10
|
+
const reactData = $xeTree.reactData
|
|
11
|
+
const { updateExpandedFlag } = reactData
|
|
12
|
+
const internalData = $xeTree.internalData
|
|
13
|
+
const { treeExpandedMaps } = internalData
|
|
14
|
+
const childrenField = $xeTree.computeChildrenField
|
|
15
|
+
const mapChildrenField = $xeTree.computeMapChildrenField
|
|
16
|
+
const nodeChildren = prevNode[transform ? mapChildrenField : childrenField]
|
|
17
|
+
if (nodeChildren && updateExpandedFlag && treeExpandedMaps[$xeTree.getNodeId(prevNode)]) {
|
|
18
|
+
for (let index = 0; index < nodeChildren.length; index++) {
|
|
19
|
+
count += countTreeExpand($xeTree, nodeChildren[index])
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return count
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function calcTreeLine ($xeTree: VxeTreeConstructor, node: any, prevNode: any) {
|
|
26
|
+
const internalData = $xeTree.internalData
|
|
27
|
+
const { scrollYStore } = internalData
|
|
28
|
+
const { rowHeight } = scrollYStore
|
|
29
|
+
let expandSize = 1
|
|
30
|
+
if (prevNode) {
|
|
31
|
+
expandSize = countTreeExpand($xeTree, prevNode)
|
|
32
|
+
}
|
|
33
|
+
return (rowHeight || 28) * expandSize - (prevNode ? 1 : 12)
|
|
34
|
+
}
|
|
@@ -5,11 +5,11 @@ import { getConfig, getI18n, getIcon, globalEvents, createEvent, globalMixins, r
|
|
|
5
5
|
import { getEventTargetNode, updatePanelPlacement, toCssUnit } from '../../ui/src/dom'
|
|
6
6
|
import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
|
|
7
7
|
import { errLog } from '../../ui/src/log'
|
|
8
|
-
|
|
9
8
|
import VxeInputComponent from '../../input/src/input'
|
|
9
|
+
import VxeButtonComponent from '../../button/src/button'
|
|
10
10
|
import VxeTreeComponent from '../../tree/src/tree'
|
|
11
11
|
|
|
12
|
-
import type { TreeSelectReactData, VxeTreeSelectEmits, TreeSelectInternalData, VxeComponentSizeType, ValueOf, VxeComponentStyleType, VxeTreeSelectPropTypes, VxeFormDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods } from '../../../types'
|
|
12
|
+
import type { TreeSelectReactData, VxeTreeSelectEmits, TreeSelectInternalData, VxeComponentSizeType, VxeButtonDefines, ValueOf, VxeComponentStyleType, VxeTreeSelectPropTypes, VxeFormDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods, VxeInputConstructor, VxeTreeConstructor } from '../../../types'
|
|
13
13
|
import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
|
|
14
14
|
|
|
15
15
|
function getOptUniqueId () {
|
|
@@ -41,6 +41,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
41
41
|
type: Boolean as PropType<VxeTreeSelectPropTypes.Disabled>,
|
|
42
42
|
default: null
|
|
43
43
|
},
|
|
44
|
+
filterable: Boolean as PropType<VxeTreeSelectPropTypes.Filterable>,
|
|
45
|
+
filterConfig: Object as PropType<VxeTreeSelectPropTypes.FilterConfig>,
|
|
44
46
|
multiple: Boolean as PropType<VxeTreeSelectPropTypes.Multiple>,
|
|
45
47
|
className: [String, Function] as PropType<VxeTreeSelectPropTypes.ClassName>,
|
|
46
48
|
popupClassName: [String, Function] as PropType<VxeTreeSelectPropTypes.PopupClassName>,
|
|
@@ -50,16 +52,43 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
50
52
|
optionProps: Object as PropType<VxeTreeSelectPropTypes.OptionProps>,
|
|
51
53
|
size: {
|
|
52
54
|
type: String as PropType<VxeTreeSelectPropTypes.Size>,
|
|
53
|
-
default: () => getConfig().
|
|
55
|
+
default: () => getConfig().treeSelect.size || getConfig().size
|
|
54
56
|
},
|
|
55
57
|
remote: Boolean as PropType<VxeTreeSelectPropTypes.Remote>,
|
|
56
|
-
|
|
58
|
+
remoteConfig: Function as PropType<VxeTreeSelectPropTypes.RemoteConfig>,
|
|
57
59
|
popupConfig: Object as PropType<VxeTreeSelectPropTypes.PopupConfig>,
|
|
58
60
|
treeConfig: Object as PropType<VxeTreeSelectPropTypes.TreeConfig>,
|
|
61
|
+
virtualYConfig: Object as PropType<VxeTreeSelectPropTypes.VirtualYConfig>,
|
|
62
|
+
autoClose: {
|
|
63
|
+
type: Boolean as PropType<VxeTreeSelectPropTypes.AutoClose>,
|
|
64
|
+
default: () => getConfig().treeSelect.autoClose
|
|
65
|
+
},
|
|
66
|
+
showTotalButoon: {
|
|
67
|
+
type: Boolean as PropType<VxeTreeSelectPropTypes.ShowTotalButoon>,
|
|
68
|
+
default: () => getConfig().treeSelect.showTotalButoon
|
|
69
|
+
},
|
|
70
|
+
showCheckedButoon: {
|
|
71
|
+
type: Boolean as PropType<VxeTreeSelectPropTypes.ShowCheckedButoon>,
|
|
72
|
+
default: () => getConfig().treeSelect.showCheckedButoon
|
|
73
|
+
},
|
|
74
|
+
showClearButton: {
|
|
75
|
+
type: Boolean as PropType<VxeTreeSelectPropTypes.ShowClearButton>,
|
|
76
|
+
default: () => getConfig().treeSelect.showClearButton
|
|
77
|
+
},
|
|
78
|
+
showExpandButton: {
|
|
79
|
+
type: Boolean as PropType<VxeTreeSelectPropTypes.ShowExpandButton>,
|
|
80
|
+
default: () => getConfig().treeSelect.showExpandButton
|
|
81
|
+
},
|
|
59
82
|
transfer: {
|
|
60
83
|
type: Boolean as PropType<VxeTreeSelectPropTypes.Transfer>,
|
|
61
84
|
default: null
|
|
62
|
-
}
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* 已废弃,被 remote-config.queryMethod 替换
|
|
89
|
+
* @deprecated
|
|
90
|
+
*/
|
|
91
|
+
remoteMethod: Function as PropType<VxeTreeSelectPropTypes.RemoteMethod>
|
|
63
92
|
},
|
|
64
93
|
inject: {
|
|
65
94
|
$xeModal: {
|
|
@@ -89,8 +118,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
89
118
|
const xID = XEUtils.uniqueId()
|
|
90
119
|
const reactData: TreeSelectReactData = {
|
|
91
120
|
initialized: false,
|
|
92
|
-
|
|
93
|
-
|
|
121
|
+
searchValue: '',
|
|
122
|
+
searchLoading: false,
|
|
94
123
|
panelIndex: 0,
|
|
95
124
|
panelStyle: {},
|
|
96
125
|
panelPlacement: null,
|
|
@@ -100,7 +129,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
100
129
|
isActivated: false
|
|
101
130
|
}
|
|
102
131
|
const internalData: TreeSelectInternalData = {
|
|
103
|
-
hpTimeout: undefined
|
|
132
|
+
// hpTimeout: undefined,
|
|
133
|
+
fullOptionList: [],
|
|
134
|
+
fullNodeMaps: {}
|
|
104
135
|
}
|
|
105
136
|
return {
|
|
106
137
|
xID,
|
|
@@ -245,15 +276,35 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
245
276
|
const propsOpts = $xeTreeSelect.computePropsOpts as VxeTreeSelectPropTypes.OptionProps
|
|
246
277
|
return propsOpts.hasChild || 'hasChild'
|
|
247
278
|
},
|
|
279
|
+
computeVirtualYOpts () {
|
|
280
|
+
const $xeTreeSelect = this
|
|
281
|
+
const props = $xeTreeSelect
|
|
282
|
+
|
|
283
|
+
return Object.assign({} as { gt: number }, getConfig().treeSelect.virtualYConfig, props.virtualYConfig)
|
|
284
|
+
},
|
|
285
|
+
computeRemoteOpts () {
|
|
286
|
+
const $xeTreeSelect = this
|
|
287
|
+
const props = $xeTreeSelect
|
|
288
|
+
|
|
289
|
+
return Object.assign({}, getConfig().treeSelect.remoteConfig, props.remoteConfig)
|
|
290
|
+
},
|
|
291
|
+
computeFilterOpts () {
|
|
292
|
+
const $xeTreeSelect = this
|
|
293
|
+
const props = $xeTreeSelect
|
|
294
|
+
|
|
295
|
+
const treeOpts = $xeTreeSelect.computeTreeOpts as VxeTreeSelectPropTypes.TreeConfig
|
|
296
|
+
return Object.assign({}, treeOpts.filterConfig, props.filterConfig)
|
|
297
|
+
},
|
|
248
298
|
computeSelectLabel () {
|
|
249
299
|
const $xeTreeSelect = this
|
|
250
300
|
const props = $xeTreeSelect
|
|
251
|
-
const
|
|
301
|
+
const internalData = ($xeTreeSelect as any).internalData as TreeSelectInternalData
|
|
252
302
|
|
|
253
|
-
const { value } = props
|
|
254
|
-
const { fullNodeMaps } =
|
|
303
|
+
const { value: modelValue } = props
|
|
304
|
+
const { fullNodeMaps } = internalData
|
|
255
305
|
const labelField = $xeTreeSelect.computeLabelField as string
|
|
256
|
-
|
|
306
|
+
const selectVals = XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue])
|
|
307
|
+
return selectVals.map(val => {
|
|
257
308
|
const cacheItem = fullNodeMaps[val]
|
|
258
309
|
return cacheItem ? cacheItem.item[labelField] : val
|
|
259
310
|
}).join(', ')
|
|
@@ -302,7 +353,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
302
353
|
cacheDataMap () {
|
|
303
354
|
const $xeTreeSelect = this
|
|
304
355
|
const props = $xeTreeSelect
|
|
305
|
-
const
|
|
356
|
+
const internalData = $xeTreeSelect.internalData
|
|
306
357
|
|
|
307
358
|
const { options } = props
|
|
308
359
|
const nodeKeyField = $xeTreeSelect.computeNodeKeyField
|
|
@@ -331,8 +382,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
331
382
|
}
|
|
332
383
|
nodeMaps[value] = { item, index, items, parent, nodes }
|
|
333
384
|
}, { children: childrenField })
|
|
334
|
-
|
|
335
|
-
|
|
385
|
+
internalData.fullOptionList = options || []
|
|
386
|
+
internalData.fullNodeMaps = nodeMaps
|
|
336
387
|
},
|
|
337
388
|
updateZindex () {
|
|
338
389
|
const $xeTreeSelect = this
|
|
@@ -372,8 +423,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
372
423
|
const reactData = $xeTreeSelect.reactData
|
|
373
424
|
const internalData = $xeTreeSelect.internalData
|
|
374
425
|
|
|
375
|
-
const { loading } = props
|
|
426
|
+
const { loading, remote, filterable } = props
|
|
427
|
+
const { fullOptionList } = internalData
|
|
376
428
|
const isDisabled = $xeTreeSelect.computeIsDisabled
|
|
429
|
+
const remoteOpts = $xeTreeSelect.computeRemoteOpts
|
|
377
430
|
if (!loading && !isDisabled) {
|
|
378
431
|
if (internalData.hpTimeout) {
|
|
379
432
|
clearTimeout(internalData.hpTimeout)
|
|
@@ -390,8 +443,14 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
390
443
|
}
|
|
391
444
|
reactData.isActivated = true
|
|
392
445
|
reactData.isAniVisible = true
|
|
446
|
+
if (filterable) {
|
|
447
|
+
if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullOptionList.length) {
|
|
448
|
+
$xeTreeSelect.handleSearchEvent()
|
|
449
|
+
}
|
|
450
|
+
}
|
|
393
451
|
setTimeout(() => {
|
|
394
452
|
reactData.visiblePanel = true
|
|
453
|
+
$xeTreeSelect.handleFocusSearch()
|
|
395
454
|
}, 10)
|
|
396
455
|
$xeTreeSelect.updateZindex()
|
|
397
456
|
$xeTreeSelect.updatePlacement()
|
|
@@ -410,11 +469,11 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
410
469
|
changeEvent (evnt: Event, selectValue: any) {
|
|
411
470
|
const $xeTreeSelect = this
|
|
412
471
|
const props = $xeTreeSelect
|
|
413
|
-
const
|
|
472
|
+
const internalData = $xeTreeSelect.internalData
|
|
414
473
|
const $xeForm = $xeTreeSelect.$xeForm
|
|
415
474
|
const formItemInfo = $xeTreeSelect.formItemInfo
|
|
416
475
|
|
|
417
|
-
const { fullNodeMaps } =
|
|
476
|
+
const { fullNodeMaps } = internalData
|
|
418
477
|
$xeTreeSelect.emitModel(selectValue)
|
|
419
478
|
if (selectValue !== props.value) {
|
|
420
479
|
const cacheItem = fullNodeMaps[selectValue]
|
|
@@ -437,6 +496,59 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
437
496
|
$xeTreeSelect.clearValueEvent(evnt, null)
|
|
438
497
|
$xeTreeSelect.hideOptionPanel()
|
|
439
498
|
},
|
|
499
|
+
allCheckedPanelEvent (params: VxeButtonDefines.ClickEventParams) {
|
|
500
|
+
const $xeTreeSelect = this
|
|
501
|
+
const props = $xeTreeSelect
|
|
502
|
+
|
|
503
|
+
const { $event } = params
|
|
504
|
+
const { multiple, autoClose } = props
|
|
505
|
+
const $tree = $xeTreeSelect.$refs.refTree as VxeTreeConstructor
|
|
506
|
+
if (multiple) {
|
|
507
|
+
if ($tree) {
|
|
508
|
+
$tree.setAllCheckboxNode(true).then(({ checkNodeKeys }) => {
|
|
509
|
+
$xeTreeSelect.changeEvent($event, checkNodeKeys)
|
|
510
|
+
$xeTreeSelect.dispatchEvent('all-change', { value: checkNodeKeys }, $event)
|
|
511
|
+
if (autoClose) {
|
|
512
|
+
$xeTreeSelect.hideOptionPanel()
|
|
513
|
+
}
|
|
514
|
+
})
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
clearCheckedPanelEvent (params: VxeButtonDefines.ClickEventParams) {
|
|
519
|
+
const $xeTreeSelect = this
|
|
520
|
+
const props = $xeTreeSelect
|
|
521
|
+
|
|
522
|
+
const { $event } = params
|
|
523
|
+
const { multiple, autoClose } = props
|
|
524
|
+
const $tree = $xeTreeSelect.$refs.refTree as VxeTreeConstructor
|
|
525
|
+
if ($tree) {
|
|
526
|
+
const value = multiple ? [] : null
|
|
527
|
+
$tree.clearCheckboxNode().then(() => {
|
|
528
|
+
if (autoClose) {
|
|
529
|
+
$xeTreeSelect.hideOptionPanel()
|
|
530
|
+
}
|
|
531
|
+
})
|
|
532
|
+
$xeTreeSelect.changeEvent($event, value)
|
|
533
|
+
$xeTreeSelect.dispatchEvent('clear', { value }, $event)
|
|
534
|
+
}
|
|
535
|
+
},
|
|
536
|
+
allExpandPanelEvent () {
|
|
537
|
+
const $xeTreeSelect = this
|
|
538
|
+
|
|
539
|
+
const $tree = $xeTreeSelect.$refs.refTree as VxeTreeConstructor
|
|
540
|
+
if ($tree) {
|
|
541
|
+
$tree.setAllExpandNode(true)
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
clearExpandPanelEvent () {
|
|
545
|
+
const $xeTreeSelect = this
|
|
546
|
+
|
|
547
|
+
const $tree = $xeTreeSelect.$refs.refTree as VxeTreeConstructor
|
|
548
|
+
if ($tree) {
|
|
549
|
+
$tree.clearAllExpandNode()
|
|
550
|
+
}
|
|
551
|
+
},
|
|
440
552
|
handleGlobalMousewheelEvent (evnt: MouseEvent) {
|
|
441
553
|
const $xeTreeSelect = this
|
|
442
554
|
const reactData = $xeTreeSelect.reactData
|
|
@@ -483,6 +595,19 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
483
595
|
$xeTreeSelect.updatePlacement()
|
|
484
596
|
}
|
|
485
597
|
},
|
|
598
|
+
handleFocusSearch () {
|
|
599
|
+
const $xeSelect = this
|
|
600
|
+
const props = $xeSelect
|
|
601
|
+
|
|
602
|
+
if (props.filterable) {
|
|
603
|
+
$xeSelect.$nextTick(() => {
|
|
604
|
+
const inpSearch = $xeSelect.$refs.refInpSearch as VxeInputConstructor
|
|
605
|
+
if (inpSearch) {
|
|
606
|
+
inpSearch.focus()
|
|
607
|
+
}
|
|
608
|
+
})
|
|
609
|
+
}
|
|
610
|
+
},
|
|
486
611
|
focusEvent (evnt: FocusEvent) {
|
|
487
612
|
const $xeTreeSelect = this
|
|
488
613
|
const reactData = $xeTreeSelect.reactData
|
|
@@ -512,6 +637,32 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
512
637
|
reactData.isActivated = false
|
|
513
638
|
$xeTreeSelect.dispatchEvent('blur', {}, evnt)
|
|
514
639
|
},
|
|
640
|
+
modelSearchEvent (value: string) {
|
|
641
|
+
const $xeTreeSelect = this
|
|
642
|
+
const reactData = $xeTreeSelect.reactData
|
|
643
|
+
|
|
644
|
+
reactData.searchValue = value
|
|
645
|
+
},
|
|
646
|
+
handleSearchEvent () {
|
|
647
|
+
const $xeTreeSelect = this
|
|
648
|
+
const props = $xeTreeSelect
|
|
649
|
+
const reactData = $xeTreeSelect.reactData
|
|
650
|
+
|
|
651
|
+
const { value: modelValue, remote, remoteMethod } = props
|
|
652
|
+
const { searchValue } = reactData
|
|
653
|
+
const remoteOpts = $xeTreeSelect.computeRemoteOpts
|
|
654
|
+
const queryMethod = remoteOpts.queryMethod || remoteMethod
|
|
655
|
+
if (remote && queryMethod && remoteOpts.enabled) {
|
|
656
|
+
reactData.searchLoading = true
|
|
657
|
+
Promise.resolve(
|
|
658
|
+
queryMethod({ $treeSelect: $xeTreeSelect, searchValue, value: modelValue })
|
|
659
|
+
).then(() => $xeTreeSelect.$nextTick())
|
|
660
|
+
.catch(() => $xeTreeSelect.$nextTick())
|
|
661
|
+
.finally(() => {
|
|
662
|
+
reactData.searchLoading = false
|
|
663
|
+
})
|
|
664
|
+
}
|
|
665
|
+
},
|
|
515
666
|
togglePanelEvent (params: any) {
|
|
516
667
|
const $xeTreeSelect = this
|
|
517
668
|
const reactData = $xeTreeSelect.reactData
|
|
@@ -562,8 +713,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
562
713
|
const slots = $xeTreeSelect.$scopedSlots
|
|
563
714
|
const reactData = $xeTreeSelect.reactData
|
|
564
715
|
|
|
565
|
-
const { className, value, multiple, options, loading } = props
|
|
566
|
-
const { initialized, isActivated, isAniVisible, visiblePanel } = reactData
|
|
716
|
+
const { className, value: modelValue, multiple, options, loading, filterable, showTotalButoon, showCheckedButoon, showClearButton, showExpandButton } = props
|
|
717
|
+
const { initialized, isActivated, isAniVisible, visiblePanel, searchValue } = reactData
|
|
567
718
|
const vSize = $xeTreeSelect.computeSize
|
|
568
719
|
const isDisabled = $xeTreeSelect.computeIsDisabled
|
|
569
720
|
const selectLabel = $xeTreeSelect.computeSelectLabel
|
|
@@ -585,6 +736,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
585
736
|
const childrenField = $xeTreeSelect.computeChildrenField
|
|
586
737
|
const parentField = $xeTreeSelect.computeParentField
|
|
587
738
|
const hasChildField = $xeTreeSelect.computeHasChildField
|
|
739
|
+
const virtualYOpts = $xeTreeSelect.computeVirtualYOpts
|
|
740
|
+
const filterOpts = $xeTreeSelect.computeFilterOpts
|
|
588
741
|
|
|
589
742
|
if (formReadonly) {
|
|
590
743
|
return h('div', {
|
|
@@ -596,10 +749,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
596
749
|
}, selectLabel)
|
|
597
750
|
])
|
|
598
751
|
}
|
|
752
|
+
const selectVals = XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue])
|
|
599
753
|
return h('div', {
|
|
600
754
|
ref: 'refElem',
|
|
601
755
|
class: ['vxe-tree-select', className ? (XEUtils.isFunction(className) ? className({ $treeSelect: $xeTreeSelect }) : className) : '', {
|
|
602
756
|
[`size--${vSize}`]: vSize,
|
|
757
|
+
'is--filterable': filterable,
|
|
603
758
|
'is--visible': visiblePanel,
|
|
604
759
|
'is--disabled': isDisabled,
|
|
605
760
|
'is--loading': loading,
|
|
@@ -616,7 +771,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
616
771
|
type: 'text',
|
|
617
772
|
prefixIcon: props.prefixIcon,
|
|
618
773
|
suffixIcon: loading ? getIcon().TREE_SELECT_LOADED : (visiblePanel ? getIcon().TREE_SELECT_OPEN : getIcon().TREE_SELECT_CLOSE),
|
|
619
|
-
value: loading ? getI18n('vxe.select.loadingText') : selectLabel
|
|
774
|
+
value: loading ? getI18n('vxe.select.loadingText') : selectLabel,
|
|
775
|
+
title: selectLabel
|
|
620
776
|
},
|
|
621
777
|
on: {
|
|
622
778
|
clear: $xeTreeSelect.clearEvent,
|
|
@@ -648,10 +804,92 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
648
804
|
h('div', {
|
|
649
805
|
class: 'vxe-tree-select--panel-wrapper'
|
|
650
806
|
}, [
|
|
651
|
-
|
|
807
|
+
filterable
|
|
808
|
+
? h('div', {
|
|
809
|
+
class: 'vxe-tree-select--panel-search'
|
|
810
|
+
}, [
|
|
811
|
+
h(VxeInputComponent, {
|
|
812
|
+
ref: 'refInpSearch',
|
|
813
|
+
class: 'vxe-tree-select-search--input',
|
|
814
|
+
props: {
|
|
815
|
+
value: searchValue,
|
|
816
|
+
title: selectLabel,
|
|
817
|
+
clearable: true,
|
|
818
|
+
disabled: false,
|
|
819
|
+
readonly: false,
|
|
820
|
+
placeholder: getI18n('vxe.treeSelect.search'),
|
|
821
|
+
prefixIcon: getIcon().INPUT_SEARCH
|
|
822
|
+
},
|
|
823
|
+
on: {
|
|
824
|
+
'model-value': $xeTreeSelect.modelSearchEvent
|
|
825
|
+
}
|
|
826
|
+
})
|
|
827
|
+
])
|
|
828
|
+
: renderEmptyElement($xeTreeSelect),
|
|
829
|
+
showTotalButoon || (showCheckedButoon && multiple) || showClearButton || showExpandButton || headerSlot
|
|
652
830
|
? h('div', {
|
|
653
831
|
class: 'vxe-tree-select--panel-header'
|
|
654
|
-
}, headerSlot
|
|
832
|
+
}, headerSlot
|
|
833
|
+
? headerSlot({})
|
|
834
|
+
: [
|
|
835
|
+
h('div', {
|
|
836
|
+
class: 'vxe-tree-select--header-button'
|
|
837
|
+
}, [
|
|
838
|
+
showTotalButoon
|
|
839
|
+
? h('div', {
|
|
840
|
+
class: 'vxe-tree-select--header-total'
|
|
841
|
+
}, getI18n('vxe.treeSelect.total', [selectVals.length]))
|
|
842
|
+
: renderEmptyElement($xeTreeSelect),
|
|
843
|
+
h('div', {
|
|
844
|
+
class: 'vxe-tree-select--header-btns'
|
|
845
|
+
}, [
|
|
846
|
+
(showCheckedButoon && multiple)
|
|
847
|
+
? h(VxeButtonComponent, {
|
|
848
|
+
props: {
|
|
849
|
+
content: getI18n('vxe.treeSelect.allChecked'),
|
|
850
|
+
mode: 'text'
|
|
851
|
+
},
|
|
852
|
+
on: {
|
|
853
|
+
click: $xeTreeSelect.allCheckedPanelEvent
|
|
854
|
+
}
|
|
855
|
+
})
|
|
856
|
+
: renderEmptyElement($xeTreeSelect),
|
|
857
|
+
showClearButton
|
|
858
|
+
? h(VxeButtonComponent, {
|
|
859
|
+
props: {
|
|
860
|
+
content: getI18n('vxe.treeSelect.clearChecked'),
|
|
861
|
+
mode: 'text'
|
|
862
|
+
},
|
|
863
|
+
on: {
|
|
864
|
+
click: $xeTreeSelect.clearCheckedPanelEvent
|
|
865
|
+
}
|
|
866
|
+
})
|
|
867
|
+
: renderEmptyElement($xeTreeSelect),
|
|
868
|
+
showExpandButton
|
|
869
|
+
? h(VxeButtonComponent, {
|
|
870
|
+
props: {
|
|
871
|
+
content: getI18n('vxe.treeSelect.allExpand'),
|
|
872
|
+
mode: 'text'
|
|
873
|
+
},
|
|
874
|
+
on: {
|
|
875
|
+
click: $xeTreeSelect.allExpandPanelEvent
|
|
876
|
+
}
|
|
877
|
+
})
|
|
878
|
+
: renderEmptyElement($xeTreeSelect),
|
|
879
|
+
showExpandButton
|
|
880
|
+
? h(VxeButtonComponent, {
|
|
881
|
+
props: {
|
|
882
|
+
content: getI18n('vxe.treeSelect.clearExpand'),
|
|
883
|
+
mode: 'text'
|
|
884
|
+
},
|
|
885
|
+
on: {
|
|
886
|
+
click: $xeTreeSelect.clearExpandPanelEvent
|
|
887
|
+
}
|
|
888
|
+
})
|
|
889
|
+
: renderEmptyElement($xeTreeSelect)
|
|
890
|
+
])
|
|
891
|
+
])
|
|
892
|
+
])
|
|
655
893
|
: renderEmptyElement($xeTreeSelect),
|
|
656
894
|
h('div', {
|
|
657
895
|
class: 'vxe-tree-select--panel-body'
|
|
@@ -662,15 +900,20 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
662
900
|
style: popupWrapperStyle
|
|
663
901
|
}, [
|
|
664
902
|
h(VxeTreeComponent, {
|
|
903
|
+
ref: 'refTree',
|
|
665
904
|
class: 'vxe-tree-select--tree',
|
|
666
905
|
props: {
|
|
667
906
|
data: options,
|
|
907
|
+
height: popupOpts.height ? '100%' : treeOpts.height,
|
|
908
|
+
minHeight: treeOpts.minHeight,
|
|
909
|
+
maxHeight: popupOpts.height ? '' : treeOpts.maxHeight,
|
|
910
|
+
autoResize: true,
|
|
668
911
|
indent: treeOpts.indent,
|
|
669
912
|
showRadio: !multiple,
|
|
670
913
|
radioConfig: treeRadioOpts,
|
|
671
|
-
checkNodeKey: multiple ? null :
|
|
914
|
+
checkNodeKey: multiple ? null : modelValue,
|
|
672
915
|
showCheckbox: !!multiple,
|
|
673
|
-
checkNodeKeys: multiple ?
|
|
916
|
+
checkNodeKeys: multiple ? modelValue : null,
|
|
674
917
|
checkboxConfig: treeCheckboxOpts,
|
|
675
918
|
titleField: labelField,
|
|
676
919
|
valueField: valueField,
|
|
@@ -690,7 +933,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
690
933
|
showLine: treeOpts.showLine,
|
|
691
934
|
iconOpen: treeOpts.iconOpen,
|
|
692
935
|
iconLoaded: treeOpts.iconLoaded,
|
|
693
|
-
iconClose: treeOpts.iconClose
|
|
936
|
+
iconClose: treeOpts.iconClose,
|
|
937
|
+
filterValue: searchValue,
|
|
938
|
+
filterConfig: filterOpts,
|
|
939
|
+
virtualYConfig: virtualYOpts
|
|
694
940
|
},
|
|
695
941
|
on: {
|
|
696
942
|
'node-click': $xeTreeSelect.nodeClickEvent,
|
package/packages/ui/index.ts
CHANGED
|
@@ -203,7 +203,7 @@ setConfig({
|
|
|
203
203
|
// size: null,
|
|
204
204
|
virtualYConfig: {
|
|
205
205
|
enabled: true,
|
|
206
|
-
gt:
|
|
206
|
+
gt: 60
|
|
207
207
|
// oSize: 0
|
|
208
208
|
}
|
|
209
209
|
},
|
|
@@ -300,7 +300,7 @@ setConfig({
|
|
|
300
300
|
},
|
|
301
301
|
virtualYConfig: {
|
|
302
302
|
enabled: true,
|
|
303
|
-
gt:
|
|
303
|
+
gt: 50,
|
|
304
304
|
oSize: 2
|
|
305
305
|
}
|
|
306
306
|
},
|
|
@@ -357,16 +357,32 @@ setConfig({
|
|
|
357
357
|
isArrow: true
|
|
358
358
|
},
|
|
359
359
|
tree: {
|
|
360
|
+
// autoResize: false,
|
|
360
361
|
indent: 20,
|
|
361
362
|
minHeight: 60,
|
|
362
363
|
radioConfig: {
|
|
363
364
|
strict: true
|
|
365
|
+
},
|
|
366
|
+
virtualYConfig: {
|
|
367
|
+
enabled: true,
|
|
368
|
+
gt: 50,
|
|
369
|
+
oSize: 2
|
|
364
370
|
}
|
|
365
371
|
},
|
|
366
372
|
treeSelect: {
|
|
373
|
+
autoClose: true,
|
|
374
|
+
virtualYConfig: {
|
|
375
|
+
enabled: true,
|
|
376
|
+
gt: 0,
|
|
377
|
+
oSize: 2
|
|
378
|
+
},
|
|
367
379
|
treeConfig: {
|
|
380
|
+
maxHeight: 300,
|
|
368
381
|
radioConfig: {},
|
|
369
|
-
checkboxConfig: {}
|
|
382
|
+
checkboxConfig: {},
|
|
383
|
+
filterConfig: {
|
|
384
|
+
autoExpandAll: true
|
|
385
|
+
}
|
|
370
386
|
}
|
|
371
387
|
},
|
|
372
388
|
upload: {
|
package/packages/ui/src/dom.ts
CHANGED
|
@@ -121,6 +121,16 @@ export function getAbsolutePos (elem: any) {
|
|
|
121
121
|
return { boundingTop, top: scrollTop + boundingTop, boundingLeft, left: scrollLeft + boundingLeft, visibleHeight, visibleWidth }
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
+
export function getPaddingTopBottomSize (elem: HTMLElement) {
|
|
125
|
+
if (elem) {
|
|
126
|
+
const computedStyle = getComputedStyle(elem)
|
|
127
|
+
const paddingTop = XEUtils.toNumber(computedStyle.paddingTop)
|
|
128
|
+
const paddingBottom = XEUtils.toNumber(computedStyle.paddingBottom)
|
|
129
|
+
return paddingTop + paddingBottom
|
|
130
|
+
}
|
|
131
|
+
return 0
|
|
132
|
+
}
|
|
133
|
+
|
|
124
134
|
const scrollIntoViewIfNeeded = 'scrollIntoViewIfNeeded'
|
|
125
135
|
const scrollIntoView = 'scrollIntoView'
|
|
126
136
|
|
|
@@ -70,6 +70,25 @@
|
|
|
70
70
|
background-color: var(--vxe-ui-layout-background-color);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
.vxe-select--header-button {
|
|
74
|
+
display: flex;
|
|
75
|
+
flex-direction: row;
|
|
76
|
+
}
|
|
77
|
+
.vxe-select--header-total {
|
|
78
|
+
display: flex;
|
|
79
|
+
flex-direction: row;
|
|
80
|
+
align-items: center;
|
|
81
|
+
justify-content: center;
|
|
82
|
+
flex-shrink: 0;
|
|
83
|
+
padding-left: 0.8em;
|
|
84
|
+
}
|
|
85
|
+
.vxe-select--header-btns {
|
|
86
|
+
display: flex;
|
|
87
|
+
flex-direction: row;
|
|
88
|
+
flex-grow: 1;
|
|
89
|
+
justify-content: right;
|
|
90
|
+
}
|
|
91
|
+
|
|
73
92
|
.vxe-select--panel-header {
|
|
74
93
|
border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
75
94
|
}
|
|
@@ -12,6 +12,14 @@
|
|
|
12
12
|
cursor: pointer;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
+
&.is--filterable {
|
|
16
|
+
.vxe-tree-select-tree--wrapper {
|
|
17
|
+
padding-top: 0;
|
|
18
|
+
}
|
|
19
|
+
.vxe-tree-select--panel-header {
|
|
20
|
+
border-top: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
15
23
|
&.is--disabled {
|
|
16
24
|
& > .vxe-input {
|
|
17
25
|
.vxe-input--inner {
|
|
@@ -57,8 +65,28 @@
|
|
|
57
65
|
}
|
|
58
66
|
}
|
|
59
67
|
|
|
68
|
+
.vxe-tree-select--header-button {
|
|
69
|
+
display: flex;
|
|
70
|
+
flex-direction: row;
|
|
71
|
+
}
|
|
72
|
+
.vxe-tree-select--header-total {
|
|
73
|
+
display: flex;
|
|
74
|
+
flex-direction: row;
|
|
75
|
+
align-items: center;
|
|
76
|
+
justify-content: center;
|
|
77
|
+
flex-shrink: 0;
|
|
78
|
+
padding-left: 0.8em;
|
|
79
|
+
}
|
|
80
|
+
.vxe-tree-select--header-btns {
|
|
81
|
+
display: flex;
|
|
82
|
+
flex-direction: row;
|
|
83
|
+
flex-grow: 1;
|
|
84
|
+
justify-content: right;
|
|
85
|
+
}
|
|
86
|
+
|
|
60
87
|
.vxe-tree-select--panel-wrapper {
|
|
61
88
|
display: inline-flex;
|
|
89
|
+
flex-direction: column;
|
|
62
90
|
position: relative;
|
|
63
91
|
border-radius: var(--vxe-ui-base-border-radius);
|
|
64
92
|
border: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
@@ -67,6 +95,14 @@
|
|
|
67
95
|
pointer-events: auto;
|
|
68
96
|
}
|
|
69
97
|
|
|
98
|
+
.vxe-tree-select--panel-search {
|
|
99
|
+
display: block;
|
|
100
|
+
padding: var(--vxe-ui-layout-padding-default);
|
|
101
|
+
.vxe-tree-select-search--input {
|
|
102
|
+
width: 100%;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
70
106
|
.vxe-tree-select--panel-header {
|
|
71
107
|
border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
72
108
|
}
|
|
@@ -84,7 +120,6 @@
|
|
|
84
120
|
position: relative;
|
|
85
121
|
overflow: auto;
|
|
86
122
|
padding: var(--vxe-ui-layout-padding-default);
|
|
87
|
-
max-height: 21em;
|
|
88
123
|
width: 30em;
|
|
89
124
|
outline: 0;
|
|
90
125
|
}
|