File tree 4 files changed +63
-18
lines changed
4 files changed +63
-18
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,18 @@ Vx.x.x(TPL)
7
7
- Style changes
8
8
- Dependencies Changes
9
9
10
+ V2.16.2
11
+
12
+ ### Bug Fixes
13
+
14
+ - Fix the bug that the filter custom layer could not be closed
15
+
16
+ ---
17
+
18
+ ### Bug Fixes
19
+
20
+ - 修复筛选自定义弹层无法关闭的问题
21
+
10
22
V2.16.1
11
23
12
24
### Bug Fixes
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " vue-easytable" ,
3
- "version" : " 2.16.1 " ,
3
+ "version" : " 2.16.2 " ,
4
4
"docVersions" : [
5
5
{
6
6
"value" : " /vue-easytable/" ,
7
- "label" : " 2.16.1 "
7
+ "label" : " 2.16.2 "
8
8
},
9
9
{
10
10
"value" : " /vue-easytable/2.15.0/" ,
Original file line number Diff line number Diff line change @@ -178,6 +178,22 @@ export default {
178
178
value : function ( ) {
179
179
this . init ( ) ;
180
180
} ,
181
+ visible : {
182
+ handler ( visible ) {
183
+ const { isControlled, showDropDown, hideDropDown } = this ;
184
+ // deal after mounted hook
185
+ setTimeout ( ( ) => {
186
+ if ( isControlled ) {
187
+ if ( visible ) {
188
+ showDropDown ( ) ;
189
+ } else {
190
+ hideDropDown ( ) ;
191
+ }
192
+ }
193
+ } ) ;
194
+ } ,
195
+ immediate : true ,
196
+ } ,
181
197
} ,
182
198
methods : {
183
199
// 初始化
@@ -220,12 +236,10 @@ export default {
220
236
hideDropDown ( ) {
221
237
this . $emit ( EMIT_EVENTS . VISIBLE_CHANGE , false ) ;
222
238
223
- if ( ! this . isControlled ) {
224
- setTimeout ( ( ) => {
225
- this . internalVisible = false ;
226
- this . removeOrEmptyRootPanel ( ) ;
227
- } , 150 ) ;
228
- }
239
+ setTimeout ( ( ) => {
240
+ this . internalVisible = false ;
241
+ this . removeOrEmptyRootPanel ( ) ;
242
+ } , 150 ) ;
229
243
} ,
230
244
231
245
// remove or emoty root panel
@@ -255,9 +269,7 @@ export default {
255
269
this . changDropdownPanelPosition ( ) ;
256
270
}
257
271
258
- if ( ! this . isControlled ) {
259
- this . internalVisible = true ;
260
- }
272
+ this . internalVisible = true ;
261
273
262
274
this . $emit ( EMIT_EVENTS . VISIBLE_CHANGE , true ) ;
263
275
} ,
@@ -427,7 +439,7 @@ export default {
427
439
} ,
428
440
429
441
/*
430
- add root contextmenu panel to element
442
+ add root element to element
431
443
如果不指定则添加到 body
432
444
*/
433
445
addRootElementToElement ( ) {
Original file line number Diff line number Diff line change @@ -44,6 +44,15 @@ describe("veTable header filter custom", () => {
44
44
} ,
45
45
] ;
46
46
47
+ afterEach ( ( ) => {
48
+ return new Promise ( ( resolve ) => {
49
+ const poppers = document . querySelector ( ".ve-dropdown-popper" ) ;
50
+ poppers && poppers . remove ( ) ;
51
+
52
+ resolve ( ) ;
53
+ } ) ;
54
+ } ) ;
55
+
47
56
it ( "render" , ( ) => {
48
57
const wrapper = mount ( {
49
58
render ( ) {
@@ -232,14 +241,26 @@ describe("veTable header filter custom", () => {
232
241
expect ( wrapper . find ( ".icon-vet-filter" ) . exists ( ) ) . toBe ( true ) ;
233
242
234
243
wrapper . find ( ".ve-table-filter-icon" ) . trigger ( "click" ) ;
235
- await later ( ) ;
236
- expect ( wrapper . find ( ".ve-dropdown-dd-show" ) . exists ( ) ) . toBe ( true ) ;
244
+ // 延迟展示
245
+ await later ( 100 ) ;
246
+
247
+ const showDropdownPopper = document . querySelector (
248
+ ".ve-dropdown-popper > .ve-dropdown-dd" ,
249
+ ) ;
250
+
251
+ expect ( showDropdownPopper . textContent . length ) . toBeGreaterThan ( 1 ) ;
252
+
253
+ const cancelClickEvent = new MouseEvent ( "click" , {
254
+ view : window , // window
255
+ bubbles : true ,
256
+ cancelable : true ,
257
+ } ) ;
258
+
259
+ document
260
+ . querySelector ( ".name-filter-cancel" )
261
+ . dispatchEvent ( cancelClickEvent ) ;
237
262
238
- wrapper . find ( ".name-filter-confirm" ) . trigger ( "click" ) ;
239
263
expect ( mockFilterFn ) . toBeCalled ( ) ;
240
264
expect ( mockFilterFn ) . toHaveBeenCalledWith ( expect . any ( Function ) ) ;
241
-
242
- await later ( ) ;
243
- expect ( wrapper . find ( ".ve-dropdown-dd-show" ) . exists ( ) ) . toBe ( false ) ;
244
265
} ) ;
245
266
} ) ;
You can’t perform that action at this time.
0 commit comments