@@ -34,6 +34,7 @@ class Filter extends React.Component {
34
34
this . state = {
35
35
visible : filterConfig . visible || false ,
36
36
selectedKeys : filterConfig . selectedKeys || [ ] ,
37
+ selectedKeysChangedByInner : true ,
37
38
} ;
38
39
this . _selectedKeys = [ ...this . state . selectedKeys ] ;
39
40
}
@@ -47,7 +48,14 @@ class Filter extends React.Component {
47
48
const dataIndex = nextProps . dataIndex || this . props . dataIndex ;
48
49
const filterParams = nextProps . filterParams || { } ;
49
50
const filterConfig = filterParams [ dataIndex ] || { } ;
50
- const selectedKeys = filterConfig . selectedKeys || [ ] ;
51
+ let selectedKeys ;
52
+ if ( prevState . selectedKeysChangedByInner ) {
53
+ selectedKeys = prevState . selectedKeys || [ ] ;
54
+ state . selectedKeysChangedByInner = false ;
55
+ } else {
56
+ selectedKeys = filterConfig . selectedKeys || [ ] ;
57
+ }
58
+
51
59
state . selectedKeys = selectedKeys ;
52
60
}
53
61
@@ -79,6 +87,7 @@ class Filter extends React.Component {
79
87
const selectedKeys = [ ...this . _selectedKeys ] ;
80
88
81
89
this . setState ( {
90
+ selectedKeysChangedByInner : true ,
82
91
selectedKeys,
83
92
} ) ;
84
93
}
@@ -87,6 +96,7 @@ class Filter extends React.Component {
87
96
onFilterSelect = selectedKeys => {
88
97
this . setState ( {
89
98
visible : true ,
99
+ selectedKeysChangedByInner : true ,
90
100
selectedKeys,
91
101
} ) ;
92
102
} ;
@@ -103,6 +113,7 @@ class Filter extends React.Component {
103
113
this . _selectedKeys = [ ...selectedKeys ] ;
104
114
this . setState ( {
105
115
visible : false ,
116
+ selectedKeysChangedByInner : true ,
106
117
} ) ;
107
118
// 兼容之前的格式
108
119
this . props . onFilter ( filterParams ) ;
@@ -120,6 +131,7 @@ class Filter extends React.Component {
120
131
this . setState ( {
121
132
selectedKeys : [ ] ,
122
133
visible : false ,
134
+ selectedKeysChangedByInner : true ,
123
135
} ) ;
124
136
// 兼容之前的格式
125
137
this . props . onFilter ( filterParams ) ;
0 commit comments