@@ -18,7 +18,6 @@ export class ViewPicker extends React.Component<IViewPickerProps, IViewPickerSta
18
18
19
19
private selectedKey : string | string [ ] = null ;
20
20
private async : Async ;
21
- private _selectedView : string | string [ ] = null ;
22
21
23
22
constructor ( props : IViewPickerProps ) {
24
23
super ( props ) ;
@@ -31,7 +30,6 @@ export class ViewPicker extends React.Component<IViewPickerProps, IViewPickerSta
31
30
this . async = new Async ( this ) ;
32
31
}
33
32
34
-
35
33
public componentDidMount ( ) : void {
36
34
// Start retrieving the list views
37
35
this . loadViews ( ) ;
@@ -117,10 +115,10 @@ export class ViewPicker extends React.Component<IViewPickerProps, IViewPickerSta
117
115
* Set the currently selected views(s);
118
116
*/
119
117
private setSelectedViews ( ) : void {
120
- this . _selectedView = cloneDeep ( this . props . selectedView ) ;
118
+ let _selectedView = cloneDeep ( this . props . selectedView ) ;
121
119
122
120
this . setState ( {
123
- selectedView : this . _selectedView ,
121
+ selectedView :_selectedView
124
122
} ) ;
125
123
}
126
124
@@ -132,23 +130,27 @@ export class ViewPicker extends React.Component<IViewPickerProps, IViewPickerSta
132
130
*/
133
131
private onChange = ( event : React . FormEvent < HTMLDivElement > , option : IDropdownOption , index ?: number ) : void => {
134
132
const { multiSelect, onSelectionChanged } = this . props ;
135
-
133
+ let selectedViews : string | string [ ] = null ;
136
134
if ( multiSelect ) {
137
- let selectedViews = this . _selectedView ? cloneDeep ( this . _selectedView ) as string [ ] : [ ] ;
135
+ selectedViews = this . state . selectedView ? cloneDeep ( this . state . selectedView ) as string [ ] : [ ] ;
138
136
139
137
if ( option . selected ) {
140
138
selectedViews . push ( option . key . toString ( ) ) ;
141
139
}
142
140
else {
143
141
selectedViews = selectedViews . filter ( view => view !== option . key ) ;
144
142
}
145
- this . _selectedView = selectedViews ;
143
+ this . setState ( {
144
+ selectedView :selectedViews
145
+ } ) ;
146
146
}
147
147
else {
148
- this . _selectedView = option . key . toString ( ) ;
148
+ this . setState ( {
149
+ selectedView :option . key . toString ( )
150
+ } ) ;
149
151
}
150
152
if ( onSelectionChanged ) {
151
- onSelectionChanged ( cloneDeep ( this . _selectedView ) ) ;
153
+ onSelectionChanged ( cloneDeep ( selectedViews ) ) ;
152
154
}
153
155
}
154
156
0 commit comments