React-admin MenuItemLink onClick不工作。

问题描述 投票:1回答:1

我的react-admin v3运行得很顺利,但有一点我很苦恼。

我设置了一个自定义用户菜单组件,如下图所示,但handleClick事件根本没有被调用--控制台中没有任何内容,也没有打开窗口。相反,浏览器导航到了计费界面

render() {
        const { crudGetOne, profile, ...props } = this.props;

        const handleClick = (e) => {
            e.preventDefault();
            e.stopPropagation();
            console.log("In usermenu handleClick");
            console.log("Opening window to {process.env.REACT_APP_BILLING_URL}");
            window.open("{process.env.REACT_APP_BILLING_URL}", '_blank');

        }

        return (
            <UserMenu {...props}>
                <MenuItemLink
                    to="/profile"
                    primaryText="Profile"
                    leftIcon={<AccountCircleIcon />}
                />
                <MenuItemLink
                    to="/billing"
                    primaryText="Billing"
                    leftIcon={<PaymentIcon />}
                    onClick={handleClick}
                    component={Link}
                >Billing</MenuItemLink>
            </UserMenu>
        );
    }

如果有谁能帮忙,或者提出其他方法让外部链接从menuitem打开,那就太好了,它已经困扰我好久了。而且令人惊讶的是,我找不到其他任何人问同样的问题。

祝贺你,安迪

material-ui react-admin
1个回答
0
投票

这个例子在文档中看起来不一样。

const CustomUserMenu = (props) => {
  return (
    <UserMenu {...props}>
      <MenuItemLink
        to="/billing"
        primaryText="Billing"
        leftIcon={<PaymentIcon />}

        onClick={props.onClick} // close the menu on click!
      />
    </UserMenu>
  )
}

这有点让人困惑,但onClick事件是在UserMenu中重新定义的。

...(cloneElement(menuItem, { onClick: handleClose }))

https:/github.commarmelabreact-adminblobmasterpackagesra-ui-materialuisrclayoutUserMenu.js。

© www.soinside.com 2019 - 2024. All rights reserved.