微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在与 <Menu/> 相同的行上渲染组件?

如何解决如何在与 <Menu/> 相同的行上渲染组件?

我正在尝试将一个表示为登录按钮的组件嵌入到导航菜单的同一行中。这是该组件:

SignInButton.tsx

function handleLogin(instance: IPublicclientApplication) {
    instance.loginPopup(loginRequest).catch(e => {
        console.error(e);
    });
}

/**
 * Renders a button which,when selected,will open a popup for login
 */
export const SignInButton = () => {
    const { instance } = useMsal();

    return (
        <Button primary={true} className="ml-auto" onClick={() => handleLogin(instance)}>Login</Button>
    );
}

下面是我试图用 kendo-react-ui 实现但在 reactstrap 中实现的片段:

enter image description here

我尝试过类似以下的方法

<Menu onSelect={onSelect}>
    <MenuItem text="Home" data={{ route: "/" }} />
    <MenuItem text="Counter" data={{ route: "/counter" }} />
    <MenuItem text="Users" data={{ route: "/users" }} />
    {SignInButton}
    // OR
    <SignInButton />
</Menu>

但按钮永远不会出现。似乎只有 MenuItem 会在 Menu 中呈现。如果我将 <SignInButton/> 放在 </Menu> 之后,那么它不会停留在同一行,即使我用 bootstrap row 告诉它; Menu 始终占据整行。

如何使用 kendo-react-ui 实现这一目标?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。