javascript - 如果使用 react 满足某些条件,则显示下拉列表

标签 javascript reactjs

如果满足特定条件,我想显示我的下拉列表:

let managePermissionButton = () => {
    window.alert("->-> " + props.user.name)
    props.user.permissions.map((permission) => {
        if (permission.name === permissions) {
            window.alert("Im in")
            return <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                    Manage Permissions
                </a>
                <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                    <a class="dropdown-item"><Link className='nav-link' to='/addPermission'>Manage Permissions From Group</Link></a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item"><Link className='nav-link' to='/excludePermission'>Exclude Permission From User</Link></a>
                </div>
            </li>
        }
    })
}

当我的代码进入我的 if 语句时,屏幕上会出现“我在”警告,但它不会呈现我的下拉列表,我不知道为什么。

这是我的渲染:

return (
    <div>
        <ul>
            <nav className="navbar navbar-expand-lg ">
                <ul className="navbar-nav mr-auto">
                    <li className='nav-item'>
                        <Link className='nav-link' to='/home'>Home</Link>
                    </li>
                    <li className='nav-item'>
                        <Link className='nav-link' to='/customers'>Customers</Link>
                    </li>
                    {managePermissionButton()}
                </ul>
                <button type="button" onClick={() => onClick(props)} class="btn btn-default btn-circle">Logout</button>{}
            </nav>
        </ul>
    </div>

);

最佳答案

在props.user.permissions.map((permission)之前添加return语句

let managePermissionButton = () => {
window.alert("->-> " + props.user.name)
return props.user.permissions.map((permission) => {
    if (permission.name === permissions) {
        window.alert("Im in")
        return <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Manage Permissions
            </a>
            <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                <a class="dropdown-item"><Link className='nav-link' to='/addPermission'>Manage Permissions From Group</Link></a>
                <div class="dropdown-divider"></div>
                <a class="dropdown-item"><Link className='nav-link' to='/excludePermission'>Exclude Permission From User</Link></a>
            </div>
        </li>
    }
})

关于javascript - 如果使用 react 满足某些条件,则显示下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55490999/

相关文章:

JavaScript 安全错误

javascript - 同一表单上的多个日期选择器

javascript - 为什么在使用 react-table 时使用 `useTable` 而不是 `ReactTable`

reactjs - 搜索不适用于使用远程数据的 React Material 表

javascript - 使用 create-react-app 生成 react 数据网格失败

reactjs - 当 store 状态改变时重新渲染组件

Javascript:滚动到表格中的第 n 行?

javascript - 直接 3d 变换函数与 js 计算的矩阵变换性能

javascript - ReactJS - 内联 SVG 样式和 Google 字体

javascript - 在渲染与生命周期方法中 react 计算