【问题标题】:Add a image to React Bootstrap dropdown将图像添加到 React Bootstrap 下拉列表
【发布时间】:2017-09-14 17:30:51
【问题描述】:

我正在为我的导航栏使用 React Bootstrap 和 React Router Bootstrap,并且我正在制作一个用户配置文件下拉菜单列表。

我希望能够显示用户的头像来代替“title”属性。 (与 Github 上的用户个人资料下拉菜单相同)

这可能吗?我没有看到任何使用图像而不是 NavDropdown 标题的选项

<Navbar inverse>
  <Navbar.Header>
    <Navbar.Toggle />
  </Navbar.Header>

  <Navbar.Collapse>
    <Nav pullRight>
      <NavDropdown eventKey={ 3 } id="profile-dropdown" >
        <LinkContainer to="/profile/edit" >
          <NavItem eventKey={ 3.4 } > Edit </NavItem>
        </LinkContainer>
        <LinkContainer to="/logout">
          <Logout eventKey={ 3.5 } />
        </LinkContainer>
      </NavDropdown>
    </Nav>
  </Navbar.Collapse>
</Navbar>

SplitButton 或直接 Dropdown 会是更好的选择吗?我真的没有看到太多“NavDropdown”添加到 HTML 中。

【问题讨论】:

    标签: reactjs react-bootstrap


    【解决方案1】:

    NavDropdown 的 title 属性可以将任何 React 元素作为值。这就是我所做的:

            <Nav pullRight>
                <NavDropdown eventKey={1} 
                    title={
                        <div className="pull-left">
                            <img className="thumbnail-image" 
                                src={src} 
                                alt="user pic"
                            />
    
                            {user.username}
                        </div>
                    } 
                    id="basic-nav-dropdown">
    
                    <MenuItem eventKey={1.1} href="/profile">Profile</MenuItem>
                    <MenuItem divider />
                    <MenuItem eventKey={1.3}>
                        <i className="fa fa-sign-out"></i> Logout
                    </MenuItem>
                </NavDropdown>
            </Nav>
    

    您可能需要稍微调整一下 CSS。

    【讨论】:

    • cold 收到类似这样的警告:失败的道具类型:无效的道具title 提供给object 类型为DropdownToggle,预期为string。在 DropdownToggle 中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多