reactjs - 如何在 ReactBootstrap 中向 NavDropdown 添加 Glyphicon

标签 reactjs react-bootstrap

我正在尝试将字形添加到 React Bootstrap 中的 NavDropdown 中。 我知道您可以将其添加到普通的 Dropdown 中,如下所示,如文档中所述。

<Dropdown id="dropdown-custom-1">
  <Dropdown.Toggle>
    <Glyphicon glyph="star" />
    Pow! Zoom!
  </Dropdown.Toggle>
  <Dropdown.Menu >
    <MenuItem eventKey="1">Action</MenuItem>
    <MenuItem eventKey="2">Another action</MenuItem>
  </Dropdown.Menu>
</Dropdown>

我尝试过的:

<强>1。不起作用:

    <NavDropdown eventKey={3} id="basic-nav-dropdown">
       <NavDropdown.Toggle>
       <Glyphicon glyph="star" />
       Pow! Zoom!
       </NavDropdown.Toggle>
       <MenuItem eventKey={3.1}>Action</MenuItem>
       <MenuItem eventKey={3.2}>Another action</MenuItem>
    </NavDropdown>

<强>2。不起作用:

    <NavDropdown eventKey={3} title={<Glyphicon glyph="star" /> Dropdown} id="basic-nav-dropdown">
       <MenuItem eventKey={3.1}>Action</MenuItem>
       <MenuItem eventKey={3.2}>Another action</MenuItem>
    </NavDropdown>

<强>3。确实有效,但插入符号未与文本对齐,并且出现在新行中:

    <NavDropdown eventKey={3} title={<div><Glyphicon glyph="star" /> Dropdown </div>} id="basic-nav-dropdown">
       <MenuItem eventKey={3.1}>Action</MenuItem>
       <MenuItem eventKey={3.2}>Another action</MenuItem>
    </NavDropdown>

最佳答案

您可以尝试通过 <Glyphicon /> 传递标题像这样的组件:

 render() {
     const navDropdownTitle = (<Glyphicon glyph="star"> Dropdown </Glyphicon>);
     return (
       <NavDropdown title={navDropdownTitle} eventKey={3} id="basic-nav-dropdown">
          <MenuItem eventKey={3.1}>Action</MenuItem>
          <MenuItem eventKey={3.2}>Another action</MenuItem>
       </NavDropdown>
      )
}

(更新)或者我们可以使用您的方法,但对 div 样式进行小修复。在这种情况下,字体样式不会损坏。

 <NavDropdown eventKey={3} title={<div style={{display: "inline-block"}}><Glyphicon glyph="star" /> Dropdown </div>} id="basic-nav-dropdown">
   <MenuItem eventKey={3.1}>Action</MenuItem>
   <MenuItem eventKey={3.2}>Another action</MenuItem>
</NavDropdown>

您可能需要禁用 text-decoration: underline样式使下拉菜单看起来更好。 例如,使用此 css 规则:

a.dropdown-toggle {
    text-decoration: none;
}

关于reactjs - 如何在 ReactBootstrap 中向 NavDropdown 添加 Glyphicon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45940318/

相关文章:

javascript - React Router 默认路由重定向到/home

javascript - 为什么将未定义的 react Prop 传递给子组件?

html - React-Bootstrap 拉右导航栏

node.js - 使用 webpack 中定义的 Alias 进行客户端 React 渲染但有问题

javascript - 在 promise 调用完成之前设置状态

css - 为什么我在使用 create-react-app 的生产构建中丢失了 Bootstrap 样式?

javascript - 未捕获的类型错误 : cannot read property persist of undefined with react-bootstrap carousel

javascript - 无法读取未定义的给定属性

reactjs - 将自定义 Prop 添加到自定义组件

javascript - react bootstrap - 将自定义 bsStyle 属性添加到按钮