File tree Expand file tree Collapse file tree 3 files changed +60
-0
lines changed Expand file tree Collapse file tree 3 files changed +60
-0
lines changed Original file line number Diff line number Diff line change
1
+ placeholder
Original file line number Diff line number Diff line change
1
+ /* eslint-disable no-console,react/no-multi-comp */
2
+ import QueueAnim from 'rc-queue-anim' ;
3
+ import React from 'react' ;
4
+ import ReactDom from 'react-dom' ;
5
+ import '../assets/switch.less' ;
6
+
7
+ class Demo extends React . Component {
8
+ constructor ( ) {
9
+ super ( ...arguments ) ;
10
+ this . childrenKey = [
11
+ { key : 1 } ,
12
+ { key : 2 } ,
13
+ { key : 3 } ,
14
+ { key : 4 } ,
15
+ { key : 5 } ,
16
+ { key : 6 } ,
17
+ ] ;
18
+ this . state = {
19
+ childrenKey : this . childrenKey ,
20
+ } ;
21
+ }
22
+
23
+ onEnter = ( ) => {
24
+ this . setState ( {
25
+ childrenKey : null ,
26
+ } ) ;
27
+ } ;
28
+
29
+ onLeave = ( ) => {
30
+ this . setState ( {
31
+ childrenKey : this . childrenKey ,
32
+ } ) ;
33
+ } ;
34
+
35
+ getChildren = ( ) => {
36
+ return ( this . state . childrenKey || [ ] ) . map ( item => {
37
+ return ( < li key = { item . key } /> ) ;
38
+ } ) ;
39
+ } ;
40
+
41
+ render ( ) {
42
+ const childrenToRender = this . getChildren ( ) ;
43
+ return ( < div className = "switch" onMouseEnter = { this . onEnter } onMouseLeave = { this . onLeave } >
44
+ < h2 > 鼠标经过当前区域,再移出区域查看</ h2 >
45
+ < QueueAnim component = "ul" leaveReverse delay = { [ 0 , 300 ] } type = "scale" enterForcedRePlay >
46
+ { childrenToRender }
47
+ </ QueueAnim >
48
+ < QueueAnim component = "ul" leaveReverse delay = { 150 } type = "scale" enterForcedRePlay >
49
+ { childrenToRender }
50
+ </ QueueAnim >
51
+ < QueueAnim component = "ul" leaveReverse delay = { [ 300 , 0 ] } type = "scale" enterForcedRePlay >
52
+ { childrenToRender }
53
+ </ QueueAnim >
54
+ </ div > ) ;
55
+ }
56
+ }
57
+
58
+ ReactDom . render ( < Demo /> , document . getElementById ( '__react-content' ) ) ;
Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ class Demo extends React.Component {
41
41
render ( ) {
42
42
const childrenToRender = this . getChildren ( ) ;
43
43
return ( < div className = "switch" onMouseEnter = { this . onEnter } onMouseLeave = { this . onLeave } >
44
+ < h2 > 鼠标经过当前区域,再移出区域查看</ h2 >
44
45
< QueueAnim component = "ul" leaveReverse delay = { [ 0 , 300 ] } type = "scale" >
45
46
{ childrenToRender }
46
47
</ QueueAnim >
You can’t perform that action at this time.
0 commit comments