小编Dan*_*Lee的帖子

Material-UI Menu 组件仅触发最后一个 MenuItem onClick 动作

最近我尝试使用 MaterialUI(4.3.3) 的 Menu 和 MenuItem 组件来实现一个简单的下拉菜单。

MenuItem 上的 onclick 事件行为不正确。当console.log(id)被调用时,每个部件从呼应样本阵列的最后一个元素。我切换到ListItem,问题消失了。


const Test = () => {
    const [anchorEl, setAnchorEl] = React.useState(null);
    const sampleArray = ["test1", "test2", "test3"];
    const open = Boolean(anchorEl);

    return (
        sampleArray.map(id => {
            let curID = id;
            return (<>
                <IconButton
                    aria-label="more"
                    aria-controls="long-menu"
                    aria-haspopup="true"
                    onClick={event => setAnchorEl(event.currentTarget)}
                >
                    <MoreHorizIcon />
                </IconButton>
                <Menu
                    elevation={0}
                    id="long-menu"
                    anchorEl={anchorEl}
                    keepMounted
                    open={open}
                    transformOrigin={{
                        vertical: 'top',
                        horizontal: 'center',
                    }}
                    onClose={() => setAnchorEl(null)}
                >
                    <MenuItem onClick={() => {
                        setAnchorEl(null);
                        console.log(curID); // should …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui

3
推荐指数
1
解决办法
1353
查看次数

标签 统计

material-ui ×1

reactjs ×1