Par*_*ami 1 reactjs reactstrap
使用ReactJS创建了示例应用程序,并安装了reactstrap for boostrap。我在运行正常的应用程序中使用下拉组件。代码是
<Dropdown isOpen={this.state.dropdownOpen} toggle={this.toggle}>
<DropdownToggle caret>
Dropdown
</DropdownToggle>
<DropdownMenu>
<DropdownItem>Another Action</DropdownItem>
<DropdownItem>Another Action</DropdownItem>
</DropdownMenu>
</Dropdown>
Run Code Online (Sandbox Code Playgroud)
但是我必须改变。
像目前一样,他们只传递文字
。但
我必须通过图标,标题和副标题之类的3件事
所以我可以为这种类型的自定义更改DropdownItem.js代码吗?
我必须使下拉菜单与此图像类似http://prntscr.com/f34zoo
提前致谢
可能有自定义菜单项:
<Dropdown isOpen={this.state.dropdownOpen} toggle={this.toggle}>
<span
onClick={this.toggle}
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded={this.state.dropdownOpen}
>
Custom Dropdown Content
</span>
<DropdownMenu>
<div onClick={this.toggle}>
<i class="some-icon"/>
<h3>Some heading</h3>
<p>Some sub heading</p>
</div>
<div onClick={this.toggle}>
<i class="some-icon"/>
<h3>Some heading</h3>
<p>Some sub heading</p>
</div>
<div onClick={this.toggle}>
<i class="some-icon"/>
<h3>Some heading</h3>
<p>Some sub heading</p>
</div>
</DropdownMenu>
</Dropdown>
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法来做到这一点。如果您希望下拉切换类似于:
<div>
<span>{selectedShop ? selectedShop.shopCity : ''}</span>
<FaChevronDown />
</div>
Run Code Online (Sandbox Code Playgroud)
那么你的 DropdownToggle 应该是这样的(见tag
属性):
<DropdownToggle tag="div">
<span>{selectedShop ? selectedShop.shopCity : ''}</span>
<FaChevronDown />
</DropdownToggle>
Run Code Online (Sandbox Code Playgroud)
标签道具采用 html 标签来包装下拉切换内容。现在您可以以任何您想要的方式设置您的 div 样式。
注意:默认情况下tag
是一个button
.
现在,对于您的下拉项目。你可以简单地做这样的事情:
<DropdownItem onClick={() => onShopChange(shopToMap)}>
<i class="some-icon" />
<h3>Some heading</h3>
<p>Some sub heading</p>{' '}
</DropdownItem>
Run Code Online (Sandbox Code Playgroud)
注意:即使DropdownItem
你可以指定tag
道具。
归档时间: |
|
查看次数: |
5088 次 |
最近记录: |