vxe-pc-ui 4.7.5 → 4.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/language/ar-EG.js +19 -1
  3. package/es/language/de-DE.js +19 -1
  4. package/es/language/en-US.js +20 -2
  5. package/es/language/es-ES.js +19 -1
  6. package/es/language/fr-FR.js +19 -1
  7. package/es/language/hu-HU.js +19 -1
  8. package/es/language/hy-AM.js +18 -0
  9. package/es/language/id-ID.js +19 -1
  10. package/es/language/it-IT.js +19 -1
  11. package/es/language/ja-JP.js +19 -1
  12. package/es/language/ko-KR.js +19 -1
  13. package/es/language/ms-MY.js +19 -1
  14. package/es/language/nb-NO.js +19 -1
  15. package/es/language/pt-BR.js +19 -1
  16. package/es/language/ru-RU.js +19 -1
  17. package/es/language/th-TH.js +19 -1
  18. package/es/language/ug-CN.js +19 -1
  19. package/es/language/uk-UA.js +19 -1
  20. package/es/language/uz-UZ.js +19 -1
  21. package/es/language/vi-VN.js +19 -1
  22. package/es/language/zh-CHT.js +19 -1
  23. package/es/language/zh-CN.js +18 -0
  24. package/es/list/src/list.js +1 -1
  25. package/es/select/src/select.js +135 -42
  26. package/es/select/style.css +21 -0
  27. package/es/select/style.min.css +1 -1
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/tree/src/tree.js +924 -407
  31. package/es/tree/src/util.js +32 -0
  32. package/es/tree/style.css +29 -26
  33. package/es/tree/style.min.css +1 -1
  34. package/es/tree-select/src/tree-select.js +227 -18
  35. package/es/tree-select/style.css +36 -1
  36. package/es/tree-select/style.min.css +1 -1
  37. package/es/ui/index.js +19 -3
  38. package/es/ui/src/dom.js +9 -0
  39. package/es/ui/src/log.js +1 -1
  40. package/es/vxe-select/style.css +21 -0
  41. package/es/vxe-select/style.min.css +1 -1
  42. package/es/vxe-tree/style.css +29 -26
  43. package/es/vxe-tree/style.min.css +1 -1
  44. package/es/vxe-tree-select/style.css +36 -1
  45. package/es/vxe-tree-select/style.min.css +1 -1
  46. package/lib/icon/style/style.css +1 -1
  47. package/lib/icon/style/style.min.css +1 -1
  48. package/lib/index.umd.js +1512 -530
  49. package/lib/index.umd.min.js +1 -1
  50. package/lib/language/ar-EG.js +19 -1
  51. package/lib/language/ar-EG.min.js +1 -1
  52. package/lib/language/ar-EG.umd.js +19 -1
  53. package/lib/language/de-DE.js +19 -1
  54. package/lib/language/de-DE.min.js +1 -1
  55. package/lib/language/de-DE.umd.js +19 -1
  56. package/lib/language/en-US.js +20 -2
  57. package/lib/language/en-US.min.js +1 -1
  58. package/lib/language/en-US.umd.js +20 -2
  59. package/lib/language/es-ES.js +19 -1
  60. package/lib/language/es-ES.min.js +1 -1
  61. package/lib/language/es-ES.umd.js +19 -1
  62. package/lib/language/fr-FR.js +19 -1
  63. package/lib/language/fr-FR.min.js +1 -1
  64. package/lib/language/fr-FR.umd.js +19 -1
  65. package/lib/language/hu-HU.js +19 -1
  66. package/lib/language/hu-HU.min.js +1 -1
  67. package/lib/language/hu-HU.umd.js +19 -1
  68. package/lib/language/hy-AM.js +18 -0
  69. package/lib/language/hy-AM.min.js +1 -1
  70. package/lib/language/hy-AM.umd.js +18 -0
  71. package/lib/language/id-ID.js +19 -1
  72. package/lib/language/id-ID.min.js +1 -1
  73. package/lib/language/id-ID.umd.js +19 -1
  74. package/lib/language/it-IT.js +19 -1
  75. package/lib/language/it-IT.min.js +1 -1
  76. package/lib/language/it-IT.umd.js +19 -1
  77. package/lib/language/ja-JP.js +19 -1
  78. package/lib/language/ja-JP.min.js +1 -1
  79. package/lib/language/ja-JP.umd.js +19 -1
  80. package/lib/language/ko-KR.js +19 -1
  81. package/lib/language/ko-KR.min.js +1 -1
  82. package/lib/language/ko-KR.umd.js +19 -1
  83. package/lib/language/ms-MY.js +19 -1
  84. package/lib/language/ms-MY.min.js +1 -1
  85. package/lib/language/ms-MY.umd.js +19 -1
  86. package/lib/language/nb-NO.js +19 -1
  87. package/lib/language/nb-NO.min.js +1 -1
  88. package/lib/language/nb-NO.umd.js +19 -1
  89. package/lib/language/pt-BR.js +19 -1
  90. package/lib/language/pt-BR.min.js +1 -1
  91. package/lib/language/pt-BR.umd.js +19 -1
  92. package/lib/language/ru-RU.js +19 -1
  93. package/lib/language/ru-RU.min.js +1 -1
  94. package/lib/language/ru-RU.umd.js +19 -1
  95. package/lib/language/th-TH.js +19 -1
  96. package/lib/language/th-TH.min.js +1 -1
  97. package/lib/language/th-TH.umd.js +19 -1
  98. package/lib/language/ug-CN.js +19 -1
  99. package/lib/language/ug-CN.min.js +1 -1
  100. package/lib/language/ug-CN.umd.js +19 -1
  101. package/lib/language/uk-UA.js +19 -1
  102. package/lib/language/uk-UA.min.js +1 -1
  103. package/lib/language/uk-UA.umd.js +19 -1
  104. package/lib/language/uz-UZ.js +19 -1
  105. package/lib/language/uz-UZ.min.js +1 -1
  106. package/lib/language/uz-UZ.umd.js +19 -1
  107. package/lib/language/vi-VN.js +19 -1
  108. package/lib/language/vi-VN.min.js +1 -1
  109. package/lib/language/vi-VN.umd.js +19 -1
  110. package/lib/language/zh-CHT.js +19 -1
  111. package/lib/language/zh-CHT.min.js +1 -1
  112. package/lib/language/zh-CHT.umd.js +19 -1
  113. package/lib/language/zh-CN.js +18 -0
  114. package/lib/language/zh-CN.min.js +1 -1
  115. package/lib/language/zh-CN.umd.js +18 -0
  116. package/lib/list/src/list.js +1 -1
  117. package/lib/list/src/list.min.js +1 -1
  118. package/lib/select/src/select.js +139 -44
  119. package/lib/select/src/select.min.js +1 -1
  120. package/lib/select/style/style.css +21 -0
  121. package/lib/select/style/style.min.css +1 -1
  122. package/lib/style.css +1 -1
  123. package/lib/style.min.css +1 -1
  124. package/lib/tree/src/tree.js +1154 -572
  125. package/lib/tree/src/tree.min.js +1 -1
  126. package/lib/tree/src/util.js +51 -0
  127. package/lib/tree/src/util.min.js +1 -0
  128. package/lib/tree/style/style.css +29 -26
  129. package/lib/tree/style/style.min.css +1 -1
  130. package/lib/tree-select/src/tree-select.js +237 -21
  131. package/lib/tree-select/src/tree-select.min.js +1 -1
  132. package/lib/tree-select/style/style.css +36 -1
  133. package/lib/tree-select/style/style.min.css +1 -1
  134. package/lib/ui/index.js +19 -3
  135. package/lib/ui/index.min.js +1 -1
  136. package/lib/ui/src/dom.js +10 -0
  137. package/lib/ui/src/dom.min.js +1 -1
  138. package/lib/ui/src/log.js +1 -1
  139. package/lib/ui/src/log.min.js +1 -1
  140. package/lib/vxe-select/style/style.css +21 -0
  141. package/lib/vxe-select/style/style.min.css +1 -1
  142. package/lib/vxe-tree/style/style.css +29 -26
  143. package/lib/vxe-tree/style/style.min.css +1 -1
  144. package/lib/vxe-tree-select/style/style.css +36 -1
  145. package/lib/vxe-tree-select/style/style.min.css +1 -1
  146. package/package.json +1 -1
  147. package/packages/language/ar-EG.ts +19 -1
  148. package/packages/language/de-DE.ts +19 -1
  149. package/packages/language/en-US.ts +20 -2
  150. package/packages/language/es-ES.ts +19 -1
  151. package/packages/language/fr-FR.ts +19 -1
  152. package/packages/language/hu-HU.ts +19 -1
  153. package/packages/language/hy-AM.ts +18 -0
  154. package/packages/language/id-ID.ts +19 -1
  155. package/packages/language/it-IT.ts +19 -1
  156. package/packages/language/ja-JP.ts +19 -1
  157. package/packages/language/ko-KR.ts +19 -1
  158. package/packages/language/ms-MY.ts +19 -1
  159. package/packages/language/nb-NO.ts +19 -1
  160. package/packages/language/pt-BR.ts +19 -1
  161. package/packages/language/ru-RU.ts +19 -1
  162. package/packages/language/th-TH.ts +19 -1
  163. package/packages/language/ug-CN.ts +19 -1
  164. package/packages/language/uk-UA.ts +19 -1
  165. package/packages/language/uz-UZ.ts +19 -1
  166. package/packages/language/vi-VN.ts +19 -1
  167. package/packages/language/zh-CHT.ts +19 -1
  168. package/packages/language/zh-CN.ts +18 -0
  169. package/packages/list/src/list.ts +1 -1
  170. package/packages/select/src/select.ts +146 -50
  171. package/packages/tree/src/tree.ts +947 -410
  172. package/packages/tree/src/util.ts +35 -0
  173. package/packages/tree-select/src/tree-select.ts +240 -19
  174. package/packages/ui/index.ts +18 -2
  175. package/packages/ui/src/dom.ts +10 -0
  176. package/styles/components/select.scss +19 -0
  177. package/styles/components/tree-select.scss +36 -1
  178. package/styles/components/tree.scss +34 -31
  179. package/types/components/button.d.ts +11 -1
  180. package/types/components/grid.d.ts +5 -0
  181. package/types/components/icon-picker.d.ts +11 -1
  182. package/types/components/input.d.ts +2 -2
  183. package/types/components/select.d.ts +28 -39
  184. package/types/components/tree-select.d.ts +73 -12
  185. package/types/components/tree.d.ts +125 -8
  186. /package/es/icon/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
  187. /package/es/icon/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
  188. /package/es/icon/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
  189. /package/es/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
  190. /package/es/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
  191. /package/es/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
  192. /package/lib/icon/style/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
  193. /package/lib/icon/style/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
  194. /package/lib/icon/style/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
  195. /package/lib/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
  196. /package/lib/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
  197. /package/lib/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
@@ -4,7 +4,6 @@
4
4
  position: relative;
5
5
  color: var(--vxe-ui-font-color);
6
6
  font-family: var(--vxe-ui-font-family);
7
- overflow: auto;
8
7
  &.node--trigger {
9
8
  .vxe-tree--node-item {
10
9
  cursor: pointer;
@@ -58,21 +57,6 @@
58
57
  }
59
58
  }
60
59
  &.show--line {
61
- .vxe-tree--node-list-wrapper {
62
- position: relative;
63
- &::before {
64
- content: "";
65
- position: absolute;
66
- left: 0.7em;
67
- top: calc(var(--vxe-ui-tree-node-height) / 2);
68
- height: calc(100% - var(--vxe-ui-tree-node-height));
69
- border-left-width: var(--vxe-ui-tree-node-line-width);
70
- border-left-style: var(--vxe-ui-tree-node-line-style);
71
- border-left-color: var(--vxe-ui-tree-node-line-color);
72
- pointer-events: none;
73
- z-index: 5;
74
- }
75
- }
76
60
  .vxe-tree--node-child-line {
77
61
  position: absolute;
78
62
  top: 0;
@@ -85,23 +69,30 @@
85
69
  pointer-events: none;
86
70
  z-index: 5;
87
71
  }
88
- .vxe-tree--node-item-switcher {
89
- position: relative;
90
- &::before {
91
- content: "";
92
- position: absolute;
93
- left: 0.8em;
94
- top: 50%;
95
- width: 0.5em;
96
- border-bottom-width: var(--vxe-ui-tree-node-line-width);
97
- border-bottom-style: var(--vxe-ui-tree-node-line-style);
98
- border-bottom-color: var(--vxe-ui-tree-node-line-color);
99
- pointer-events: none;
100
- z-index: 5;
101
- }
102
- }
103
72
  }
104
73
  }
74
+
75
+ .vxe-tree--node-line-wrapper {
76
+ position: relative;
77
+ display: block;
78
+ height: 0;
79
+ }
80
+ .vxe-tree--node-line {
81
+ position: absolute;
82
+ bottom: calc(var(--vxe-ui-tree-node-height) / 2 * -1);
83
+ left: 0.6em;
84
+ width: 0.6em;
85
+ border-width: 0 0 var(--vxe-ui-tree-node-line-width) var(--vxe-ui-tree-node-line-width);
86
+ border-style: var(--vxe-ui-tree-node-line-style);
87
+ border-color: var(--vxe-ui-tree-node-line-color);
88
+ pointer-events: none;
89
+ }
90
+
91
+ .vxe-tree--node-list-wrapper {
92
+ overflow-y: auto;
93
+ overflow-x: hidden;
94
+ }
95
+
105
96
  .vxe-tree--node-child-wrapper {
106
97
  position: relative;
107
98
  }
@@ -155,6 +146,18 @@
155
146
  @include baseMixin.createRadioIcon();
156
147
  }
157
148
 
149
+ .vxe-tree--empty-placeholder {
150
+ margin-top: 1.4em;
151
+ text-align: center;
152
+ height: var(--vxe-ui-tree-node-height);
153
+ color: var(--vxe-ui-input-placeholder-color);
154
+ }
155
+
156
+ .vxe-tree--y-space {
157
+ width: 0;
158
+ float: left;
159
+ }
160
+
158
161
  .vxe-tree {
159
162
  font-size: var(--vxe-ui-font-size-default);
160
163
  &.size--medium {
@@ -49,8 +49,18 @@ export namespace VxeButtonPropTypes {
49
49
  */
50
50
  export type Icon = string
51
51
  export interface IconRender {
52
+ /**
53
+ * 渲染器名称
54
+ */
52
55
  name: string
53
- props?: Record<string, any>
56
+ /**
57
+ * 目标组件渲染的参数
58
+ */
59
+ props?: { [key: string]: any }
60
+ /**
61
+ * 目标组件渲染的事件
62
+ */
63
+ events?: { [key: string]: (...args: any[]) => any }
54
64
  }
55
65
  export type PrefixIcon = string
56
66
  export interface PrefixRender extends IconRender {}
@@ -131,7 +131,12 @@ export namespace VxeGridPropTypes {
131
131
  message?: boolean
132
132
  showLoading?: boolean
133
133
  showResponseMsg?: boolean
134
+ /**
135
+ * 已废弃,请使用 showActionMsg
136
+ * @deprecated
137
+ */
134
138
  showActiveMsg?: boolean
139
+ showActionMsg?: boolean
135
140
  seq?: boolean
136
141
  sort?: boolean
137
142
  filter?: boolean
@@ -123,8 +123,18 @@ export namespace VxeIconPickerDefines {
123
123
  }
124
124
 
125
125
  export interface OptionIconRender {
126
+ /**
127
+ * 渲染器名称
128
+ */
126
129
  name: string
127
- props?: Record<string, any>
130
+ /**
131
+ * 目标组件渲染的参数
132
+ */
133
+ props?: { [key: string]: any }
134
+ /**
135
+ * 目标组件渲染的事件
136
+ */
137
+ events?: { [key: string]: (...args: any[]) => any }
128
138
  }
129
139
 
130
140
  export interface IconItemObj {
@@ -1,5 +1,5 @@
1
1
  import { RenderFunction, SetupContext, Ref } from 'vue'
2
- import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, ValueOf, VxeComponentStyleType, VxeComponentAlignType, VxeComponentSizeType } from '@vxe-ui/core'
2
+ import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, ValueOf, VxeComponentStyleType, VxeComponentAlignType, VxeComponentSizeType } from '@vxe-ui/core'
3
3
 
4
4
  /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
5
5
 
@@ -281,7 +281,7 @@ export namespace VxeInputDefines {
281
281
  date: Date
282
282
  }
283
283
 
284
- interface InputKeyboardEventParams {
284
+ interface InputKeyboardEventParams extends VxeComponentEventParams {
285
285
  $input: VxeInputConstructor
286
286
  $event: KeyboardEvent
287
287
  }
@@ -38,6 +38,9 @@ export namespace VxeSelectPropTypes {
38
38
  export type Readonly = boolean
39
39
  export type Loading = boolean
40
40
  export type Disabled = boolean
41
+ export type ShowTotalButoon = boolean
42
+ export type ShowCheckedButoon = boolean
43
+ export type ShowClearButton = boolean
41
44
  export type ClassName = string | ((params: { $select: VxeSelectConstructor }) => string)
42
45
  export type PopupClassName = string | ((params: { $select: VxeSelectConstructor }) => string)
43
46
  export type Multiple = boolean
@@ -66,11 +69,6 @@ export namespace VxeSelectPropTypes {
66
69
  value: ModelValue | undefined
67
70
  }) => boolean
68
71
  export type Remote = boolean
69
- /**
70
- * 已废弃,被 remote-config.queryMethod 替换
71
- * @deprecated
72
- */
73
- export type RemoteMethod = (params: { searchValue: string }) => Promise<void> | void
74
72
 
75
73
  export interface RemoteConfig {
76
74
  /**
@@ -104,29 +102,6 @@ export namespace VxeSelectPropTypes {
104
102
  export type OptionKey = boolean
105
103
  export type Transfer = boolean
106
104
 
107
- /**
108
- * 已被 VirtualYConfig 替换
109
- * @deprecated
110
- */
111
- export interface ScrollY {
112
- /**
113
- * 指定大于指定行时自动启动纵向虚拟滚动,如果为 0 则总是启用,如果为 -1 则关闭
114
- */
115
- gt?: number
116
- /**
117
- * 指定每次渲染的数据偏移量,偏移量越大渲染次数就越少,但每次渲染耗时就越久
118
- */
119
- oSize?: number
120
- /**
121
- * 指定列表项的 className
122
- */
123
- sItem?: string
124
- /**
125
- * 是否启用
126
- */
127
- enabled?: boolean
128
- }
129
-
130
105
  export interface VirtualYConfig {
131
106
  /**
132
107
  * 指定大于指定行时自动启动纵向虚拟滚动,如果为 0 则总是启用,如果为 -1 则关闭
@@ -136,16 +111,22 @@ export namespace VxeSelectPropTypes {
136
111
  * 指定每次渲染的数据偏移量,偏移量越大渲染次数就越少,但每次渲染耗时就越久
137
112
  */
138
113
  oSize?: number
139
- /**
140
- * 指定列表项的 className
141
- */
142
- sItem?: string
143
114
  /**
144
115
  * 是否启用
145
116
  */
146
117
  enabled?: boolean
147
-
148
118
  }
119
+
120
+ /**
121
+ * 已废弃,被 remote-config.queryMethod 替换
122
+ * @deprecated
123
+ */
124
+ export type RemoteMethod = (params: { searchValue: string }) => Promise<void> | void
125
+ /**
126
+ * 已被 VirtualYConfig 替换
127
+ * @deprecated
128
+ */
129
+ export interface ScrollY extends VirtualYConfig {}
149
130
  }
150
131
 
151
132
  export interface VxeSelectProps {
@@ -157,6 +138,9 @@ export interface VxeSelectProps {
157
138
  readonly?: VxeSelectPropTypes.Readonly
158
139
  loading?: VxeSelectPropTypes.Loading
159
140
  disabled?: VxeSelectPropTypes.Disabled
141
+ showTotalButoon?: VxeSelectPropTypes.ShowTotalButoon
142
+ showCheckedButoon?: VxeSelectPropTypes.ShowCheckedButoon
143
+ showClearButton?: VxeSelectPropTypes.ShowClearButton
160
144
  className?: VxeSelectPropTypes.ClassName
161
145
  popupClassName?: VxeSelectPropTypes.PopupClassName
162
146
  multiple?: VxeSelectPropTypes.Multiple
@@ -173,13 +157,16 @@ export interface VxeSelectProps {
173
157
  filterable?: VxeSelectPropTypes.Filterable
174
158
  filterMethod?: VxeSelectPropTypes.FilterMethod
175
159
  remote?: VxeSelectPropTypes.Remote
160
+ remoteConfig?: VxeSelectPropTypes.RemoteConfig
161
+ max?: VxeSelectPropTypes.Max
162
+ transfer?: VxeSelectPropTypes.Transfer
163
+ virtualYConfig?: VxeSelectPropTypes.VirtualYConfig
164
+
176
165
  /**
177
166
  * 已废弃,被 remote-config.queryMethod 替换
178
167
  * @deprecated
179
168
  */
180
169
  remoteMethod?: VxeSelectPropTypes.RemoteMethod
181
- remoteConfig?: VxeSelectPropTypes.RemoteConfig
182
- max?: VxeSelectPropTypes.Max
183
170
  /**
184
171
  * 已废弃,被 option-config.keyField 替换
185
172
  * @deprecated
@@ -190,9 +177,6 @@ export interface VxeSelectProps {
190
177
  * @deprecated
191
178
  */
192
179
  optionKey?: VxeSelectPropTypes.OptionKey
193
- transfer?: VxeSelectPropTypes.Transfer
194
- virtualYConfig?: VxeSelectPropTypes.VirtualYConfig
195
-
196
180
  /**
197
181
  * 已废弃,被 virtual-y-config 替换
198
182
  * @deprecated
@@ -210,7 +194,6 @@ export interface SelectReactData {
210
194
  bodyHeight: number
211
195
  topSpaceHeight: number
212
196
  optList: any[]
213
- afterVisibleList: any[]
214
197
  staticOptions: any[]
215
198
  reactFlag: number
216
199
 
@@ -231,6 +214,7 @@ export interface SelectInternalData {
231
214
  isLoaded?: boolean
232
215
  synchData: any[]
233
216
  fullData: any[]
217
+ afterVisibleList: any[]
234
218
  optAddMaps: Record<string, any>
235
219
  optGroupKeyMaps: Record<string, any>
236
220
  optFullValMaps: Record<string, VxeSelectDefines.OptCacheItem>
@@ -305,6 +289,7 @@ export interface VxeSelectPrivateMethods extends SelectPrivateMethods { }
305
289
  export type VxeSelectEmits = [
306
290
  'update:modelValue',
307
291
  'change',
292
+ 'all-change',
308
293
  'clear',
309
294
  'blur',
310
295
  'focus',
@@ -352,6 +337,7 @@ export namespace VxeSelectDefines {
352
337
  export interface ChangeEventParams extends SelectEventParams {
353
338
  value: any
354
339
  }
340
+ export interface AllChangeEventParams extends ChangeEventParams {}
355
341
 
356
342
  export interface ClearEventParams extends SelectEventParams {
357
343
  value: any
@@ -372,6 +358,7 @@ export namespace VxeSelectDefines {
372
358
  export type VxeSelectEventProps = {
373
359
  'onUpdate:modelValue'?: VxeSelectEvents.UpdateModelValue
374
360
  onChange?: VxeSelectEvents.Change
361
+ onAllChange?: VxeSelectEvents.AllChange
375
362
  onClear?: VxeSelectEvents.Clear
376
363
  onFocus?: VxeSelectEvents.Focus
377
364
  onBlur?: VxeSelectEvents.Blur
@@ -383,6 +370,7 @@ export type VxeSelectEventProps = {
383
370
  export interface VxeSelectListeners {
384
371
  'update:modelValue'?: VxeSelectEvents.UpdateModelValue
385
372
  change?: VxeSelectEvents.Change
373
+ allChange?: VxeSelectEvents.AllChange
386
374
  clear?: VxeSelectEvents.Clear
387
375
  focus?: VxeSelectEvents.Focus
388
376
  blur?: VxeSelectEvents.Blur
@@ -394,6 +382,7 @@ export interface VxeSelectListeners {
394
382
  export namespace VxeSelectEvents {
395
383
  export type UpdateModelValue = (modelValue: VxeSelectPropTypes.ModelValue) => void
396
384
  export type Change = (params: VxeSelectDefines.ChangeEventParams) => void
385
+ export type AllChange = (params: VxeSelectDefines.AllChangeEventParams) => void
397
386
  export type Clear = (params: VxeSelectDefines.ClearEventParams) => void
398
387
  export type Focus = (params: VxeSelectDefines.FocusEventParams) => void
399
388
  export type Blur = (params: VxeSelectDefines.BlurEventParams) => void
@@ -1,6 +1,6 @@
1
1
  import { RenderFunction, SetupContext, Ref } from 'vue'
2
2
  import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, VxeComponentSizeType, ValueOf } from '@vxe-ui/core'
3
- import { VxeTreeProps } from './tree'
3
+ import { VxeTreeProps, VxeTreePropTypes } from './tree'
4
4
 
5
5
  /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
6
6
 
@@ -31,6 +31,11 @@ export namespace VxeTreeSelectPropTypes {
31
31
  export type Readonly = boolean
32
32
  export type Loading = boolean
33
33
  export type Disabled = boolean
34
+ export type AutoClose = boolean
35
+ export type ShowTotalButoon = boolean
36
+ export type ShowCheckedButoon = boolean
37
+ export type ShowExpandButton = boolean
38
+ export type ShowClearButton = boolean
34
39
  export type ClassName = string | ((params: { $treeSelect: VxeTreeSelectConstructor }) => string)
35
40
  /**
36
41
  * 已废弃,请使用 VxeTreeSelectPropTypes.PopupConfig
@@ -40,6 +45,8 @@ export namespace VxeTreeSelectPropTypes {
40
45
  export type Multiple = boolean
41
46
  export type PrefixIcon = string
42
47
  export type Placement = 'top' | 'bottom'
48
+ export type Filterable = boolean
49
+ export type FilterConfig = VxeTreePropTypes.FilterConfig
43
50
  export interface Option {
44
51
  value?: string | number
45
52
  label?: string | number
@@ -47,7 +54,7 @@ export namespace VxeTreeSelectPropTypes {
47
54
 
48
55
  [key: string]: any
49
56
  }
50
- export type Options = Option[]
57
+ export type Options<D = Option> = D[]
51
58
  export interface OptionProps {
52
59
  value?: string
53
60
  label?: string
@@ -64,7 +71,30 @@ export namespace VxeTreeSelectPropTypes {
64
71
  parent?: string
65
72
  }
66
73
  export type Remote = boolean
74
+ /**
75
+ * 已废弃,被 remote-config.queryMethod 替换
76
+ * @deprecated
77
+ */
67
78
  export type RemoteMethod = (params: { searchValue: string }) => Promise<void> | void
79
+ export interface RemoteConfig {
80
+ /**
81
+ * 是否启用
82
+ */
83
+ enabled?: boolean
84
+ /**
85
+ * 当列表为空时,是否默认自动调用远程查询方法
86
+ */
87
+ autoLoad?: boolean
88
+ /**
89
+ * 远程查询方法
90
+ */
91
+ queryMethod?(params: {
92
+ $treeSelect: VxeTreeSelectConstructor
93
+ searchValue: string
94
+ value: ModelValue | undefined
95
+ }): Promise<void> | void
96
+ }
97
+
68
98
  export type Transfer = boolean
69
99
  export interface PopupConfig {
70
100
  width?: number | string
@@ -72,6 +102,21 @@ export namespace VxeTreeSelectPropTypes {
72
102
  className?: string | ((params: { $treeSelect: VxeTreeSelectConstructor }) => string)
73
103
  }
74
104
  export type TreeConfig<D = any> = Omit<VxeTreeProps<D>, 'data' | 'size'>
105
+
106
+ export interface VirtualYConfig {
107
+ /**
108
+ * 指定大于指定行时自动启动纵向虚拟滚动,如果为 0 则总是启用,如果为 -1 则关闭
109
+ */
110
+ gt?: number
111
+ /**
112
+ * 指定每次渲染的数据偏移量,偏移量越大渲染次数就越少,但每次渲染耗时就越久
113
+ */
114
+ oSize?: number
115
+ /**
116
+ * 是否启用
117
+ */
118
+ enabled?: boolean
119
+ }
75
120
  }
76
121
 
77
122
  export interface VxeTreeSelectProps<D = any> {
@@ -82,18 +127,31 @@ export interface VxeTreeSelectProps<D = any> {
82
127
  readonly?: VxeTreeSelectPropTypes.Readonly
83
128
  loading?: VxeTreeSelectPropTypes.Loading
84
129
  disabled?: VxeTreeSelectPropTypes.Disabled
130
+ autoClose?: VxeTreeSelectPropTypes.AutoClose
131
+ showTotalButoon?: VxeTreeSelectPropTypes.ShowTotalButoon
132
+ showCheckedButoon?: VxeTreeSelectPropTypes.ShowCheckedButoon
133
+ showClearButton?: VxeTreeSelectPropTypes.ShowClearButton
134
+ showExpandButton?: VxeTreeSelectPropTypes.ShowExpandButton
85
135
  className?: VxeTreeSelectPropTypes.ClassName
86
136
  multiple?: VxeTreeSelectPropTypes.Multiple
87
137
  prefixIcon?: VxeTreeSelectPropTypes.PrefixIcon
88
138
  placement?: VxeTreeSelectPropTypes.Placement
89
- options?: VxeTreeSelectPropTypes.Options
139
+ filterable?: VxeTreeSelectPropTypes.Filterable
140
+ filterConfig?: VxeTreeSelectPropTypes.FilterConfig
141
+ options?: VxeTreeSelectPropTypes.Options<D>
90
142
  optionProps?: VxeTreeSelectPropTypes.OptionProps
91
143
  remote?: VxeTreeSelectPropTypes.Remote
92
- remoteMethod?: VxeTreeSelectPropTypes.RemoteMethod
144
+ remoteConfig?: VxeTreeSelectPropTypes.RemoteConfig
93
145
  transfer?: VxeTreeSelectPropTypes.Transfer
94
146
  popupConfig?: VxeTreeSelectPropTypes.PopupConfig
95
147
  treeConfig?: VxeTreeSelectPropTypes.TreeConfig<D>
148
+ virtualYConfig?: VxeTreeSelectPropTypes.VirtualYConfig
96
149
 
150
+ /**
151
+ * 已废弃,被 remote-config.queryMethod 替换
152
+ * @deprecated
153
+ */
154
+ remoteMethod?: VxeTreeSelectPropTypes.RemoteMethod
97
155
  /**
98
156
  * 已废弃,请使用 popup-config.className
99
157
  * @deprecated
@@ -107,14 +165,8 @@ export interface VxeTreeSelectPrivateComputed extends TreeSelectPrivateComputed
107
165
 
108
166
  export interface TreeSelectReactData {
109
167
  initialized: boolean
110
- fullOptionList: any[]
111
- fullNodeMaps: Record<string, {
112
- item: any
113
- index: number
114
- items: any[]
115
- parent: any
116
- nodes: any[]
117
- }>
168
+ searchValue: string
169
+ searchLoading: boolean
118
170
  panelIndex: number
119
171
  panelStyle: any
120
172
  panelPlacement: any
@@ -126,6 +178,14 @@ export interface TreeSelectReactData {
126
178
 
127
179
  export interface TreeSelectInternalData {
128
180
  hpTimeout?: undefined | number
181
+ fullOptionList: any[]
182
+ fullNodeMaps: Record<string, {
183
+ item: any
184
+ index: number
185
+ items: any[]
186
+ parent: any
187
+ nodes: any[]
188
+ }>
129
189
  }
130
190
 
131
191
  export interface TreeSelectMethods {
@@ -139,6 +199,7 @@ export interface VxeTreeSelectPrivateMethods extends TreeSelectPrivateMethods {
139
199
  export type VxeTreeSelectEmits = [
140
200
  'update:modelValue',
141
201
  'change',
202
+ 'all-change',
142
203
  'clear',
143
204
  'blur',
144
205
  'focus',