React Material-UI下拉菜单无效

ver*_*ion 13 drop-down-menu reactjs material-ui iconmenu

我正在使用Material UI创建一个简单的图标下拉菜单.但是在渲染后出现字形并且MenuItems在点击它之后没有显示.这是代码 -

import {FontIcon, MenuDivider, IconMenu, IconButton} from 'material-ui' ;
let MoreVertIcon = require('material-ui/lib/svg-icons/navigation/more-vert');
const MenuItem = require('material-ui/lib/menus/menu-item');
var PostCard = React.createClass({
  render: function(){
    let button = (
            <IconButton
                touch={true}
                tooltip='Click to see menu.'
                tooltipPosition='bottom-left'>
                <MoreVertIcon />
            </IconButton>
        );
    return (
      <div>
        <IconMenu iconButtonElement={button}>
              <MenuItem primaryText="Refresh" />
                          <MenuItem primaryText="Send feedback" />
                          <MenuItem primaryText="Settings" />
                          <MenuItem primaryText="Help" />
                          <MenuItem primaryText="Sign out" />
        </IconMenu>     
      </div>
    );
)};
Run Code Online (Sandbox Code Playgroud)

BIO*_*ALL 21

我有类似的问题.解决方案是在应用程序中的某处添加它.我不确定它是否重要,但我尽可能在更高级别添加它:

var injectTapEventPlugin = require("react-tap-event-plugin");
injectTapEventPlugin();
Run Code Online (Sandbox Code Playgroud)


Mat*_*obi 5

只是想添加注入添加injectTapEventPlugin的原因.

根据300ms的点击延迟,离开了Jake Archibald

浏览器停止等待300毫秒进行双击并且反应点击没有给我们正确的句柄.

并根据react-tap-event-plugin git页面

Facebook并未计划支持点击事件(#436),因为浏览器正在修复/消除点击延迟.不幸的是,所有移动浏览器(包括iOS的UIWebView)都需要花费很多时间才能更新.

这就是为什么我们需要注入插件.关于正确的解决方案,我决定添加包并将其注入App的构造函数(我有更高级别).

进口:

import injectTapEventPlugin from 'react-tap-event-plugin';
Run Code Online (Sandbox Code Playgroud)

并在构造函数内:

injectTapEventPlugin();
Run Code Online (Sandbox Code Playgroud)