向React Bootstrap下拉菜单添加图标

时间:2019-10-29 05:08:34

标签: javascript reactjs bootstrap-4 react-bootstrap

我正尝试将图标添加到我的react下拉按钮中,如以下按钮所示。

enter image description here

我找不到使用我正在使用的react bootstrap包来实现此目的的方法。

https://react-bootstrap.github.io/

我尝试使用普通的引导程序4。但是发现它需要jquery打开下拉菜单。如何在我的React Boots下拉菜单中添加图标?

我的代码

   <DropdownButton id="example-month-input-2" title={this.state.weekselectedType}>
         <Dropdown.Item onClick={() => this.changeWeekValue('a')}>A</Dropdown.Item>
         <Dropdown.Item onClick={() => this.changeWeekValue('b')}>B</Dropdown.Item>
         <Dropdown.Item onClick={() => this.changeWeekValue('c')}>C</Dropdown.Item>
   </DropdownButton>

我设法使用以下CSS删除了默认的下拉图标

.dropdown-toggle::after {
    display:none !important;
}

2 个答案:

答案 0 :(得分:2)

React Bootstrap允许您通过传入自定义子组件来自定义Dropdown。要自定义切换按钮,可以使用:

// The forwardRef is important!!
// Dropdown needs access to the DOM node in order to position the Menu
const CustomToggle = React.forwardRef(({ children, onClick }, ref) => (
  <a
    href=""
    ref={ref}
    onClick={e => {
      e.preventDefault();
      onClick(e);
    }}
  >
    {/* Render custom icon here */}
    &#x25bc;
    {children}
  </a>
));

render(
  <Dropdown>
    <Dropdown.Toggle as={CustomToggle} id="dropdown-custom-components">
      Custom toggle
    </Dropdown.Toggle>

    <Dropdown.Menu>
      <Dropdown.Item eventKey="1">Red</Dropdown.Item>
      <Dropdown.Item eventKey="2">Blue</Dropdown.Item>
      <Dropdown.Item eventKey="3" active>
        Orange
      </Dropdown.Item>
      <Dropdown.Item eventKey="1">Red-Orange</Dropdown.Item>
    </Dropdown.Menu>
  </Dropdown>,
);

Docs

答案 1 :(得分:1)

图标在这里

<DropdownButton id="example-month-input-2" title= 
{this.state.weekselectedType}>
     <Dropdown.Item onClick={() => this.changeWeekValue('a')}><i 
 class="fa fa-chevron-down"></i></Dropdown.Item>
     <Dropdown.Item onClick={() => 
this.changeWeekValue('b')}>B</Dropdown.Item>
     <Dropdown.Item onClick={() => 
this.changeWeekValue('c')}>C</Dropdown.Item>
</DropdownButton>

真棒