@@ -3,22 +3,32 @@ import MoreVertIcon from '@material-ui/icons/MoreVert';
33import MenuItem from '@material-ui/core/MenuItem' ;
44import React from 'react' ;
55
6- class MenuWithMenuItems extends React . PureComponent < {
6+ type Props = {
77 menuOptions : any ;
88 itemOptions : any [ ] ;
9- } > {
10- public state = {
11- menuElm : null ,
12- } ;
9+ } ;
10+
11+ type State = {
12+ menuElem : Element | ( ( element : Element ) => Element ) ;
13+ } ;
14+
15+ class MenuWithMenuItems extends React . PureComponent < Props , State > {
16+ constructor ( props ) {
17+ super ( props ) ;
18+
19+ this . state = {
20+ menuElem : null ,
21+ } ;
22+ }
1323
1424 public render ( ) {
1525 const { menuOptions, itemOptions } = this . props ;
16- const { menuElm } = this . state ;
26+ const { menuElem } = this . state ;
1727
1828 return (
1929 < div style = { { verticalAlign : 'middle' } } >
2030 < MoreVertIcon
21- aria-controls = { menuElm ? menuOptions . id : null }
31+ aria-controls = { menuElem ? menuOptions . id : null }
2232 data-id = { menuOptions . dataId }
2333 aria-haspopup = "true"
2434 style = { { fontSize : '14px' , opacity : 0.7 , cursor : 'pointer' } }
@@ -27,8 +37,8 @@ class MenuWithMenuItems extends React.PureComponent<{
2737
2838 < Menu
2939 id = { menuOptions . id }
30- anchorEl = { menuElm }
31- open = { Boolean ( menuElm ) }
40+ anchorEl = { menuElem }
41+ open = { Boolean ( menuElem ) }
3242 onClose = { this . handleClose }
3343 >
3444 { itemOptions . map ( ( option , i ) => (
@@ -37,7 +47,7 @@ class MenuWithMenuItems extends React.PureComponent<{
3747 data-id = { option . dataId }
3848 data-more-id = { option . dataMoreId }
3949 onClick = { ( e ) => {
40- this . setState ( { menuElm : null } ) ;
50+ this . setState ( { menuElem : null } ) ;
4151 option . onClick ( e ) ;
4252 } }
4353 >
@@ -51,11 +61,11 @@ class MenuWithMenuItems extends React.PureComponent<{
5161
5262 public handleClick = ( event ) => {
5363 event . preventDefault ( ) ;
54- this . setState ( { menuElm : event . currentTarget } ) ;
64+ this . setState ( { menuElem : event . currentTarget } ) ;
5565 } ;
5666
5767 public handleClose = ( ) => {
58- this . setState ( { menuElm : null } ) ;
68+ this . setState ( { menuElem : null } ) ;
5969 } ;
6070}
6171
0 commit comments