@@ -38,6 +38,7 @@ export default class ListBox extends React.Component {
3838 tabIndex : PropTypes . number ,
3939 enableDownUpSelect : PropTypes . bool ,
4040 onItemClick : PropTypes . func ,
41+ onItemGroupClick : PropTypes . func ,
4142 onChange : PropTypes . func ,
4243 onFocus : PropTypes . func ,
4344 onBlur : PropTypes . func ,
@@ -156,11 +157,19 @@ export default class ListBox extends React.Component {
156157 if ( e ) {
157158 scrollIntoView ( e . target , this . getListViewBody ( ) ) ;
158159 }
159- //this.getListView().scrollIntoView(e.target);
160160
161161 if ( onItemClick ) onItemClick ( item ) ;
162162 }
163163
164+ onItemGroupClick = ( item , e ) => {
165+ const { onItemGroupClick } = this . props ;
166+ if ( e ) {
167+ scrollIntoView ( e . target , this . getListViewBody ( ) ) ;
168+ }
169+
170+ if ( onItemGroupClick ) onItemGroupClick ( item ) ;
171+ }
172+
164173 transformChangeValue ( value ) {
165174 const { labelInValue } = this . props ;
166175 const { itemsMap } = this . state ;
@@ -365,6 +374,7 @@ export default class ListBox extends React.Component {
365374 < ListItemGroup
366375 prefixCls = { `${ itemPrefixCls } -group` }
367376 key = { item [ labelField ] }
377+ onClick = { this . onItemGroupClick }
368378 label = { renderMenuGroup ? renderMenuGroup ( item [ labelField ] , item ) : item [ labelField ] }
369379 >
370380 { this . renderListItems ( item [ childrenField ] || [ ] , selectedMap ) }
@@ -374,7 +384,7 @@ export default class ListBox extends React.Component {
374384 }
375385
376386 renderListChild ( children , selectedMap ) {
377- const { labelField, valueField, childrenField , prefixCls, disabled } = this . props ;
387+ const { labelField, valueField, prefixCls, disabled } = this . props ;
378388 const { itemsMap } = this . state ;
379389
380390 const itemPrefixCls = `${ prefixCls } -item` ;
0 commit comments