React-Boostrap [设置下拉菜单宽度与更改时的大小相同]
IAM试图将下拉菜单宽度动态设置为与整个下拉列表更改时的大小完全相同。如何获得下拉本身的宽度?
我还试图将下拉菜单与“结束”对齐的“结束”对齐。在这种情况下,填充左侧剩余空间的问题是问题所在。
我尝试了不同的方法,并失败了。有人有一个想法来完成这个问题吗?
我在做什么错?
import React from 'react';
import {Col, Container, Dropdown, Row} from 'react-bootstrap';
class SelectComp extends React.Component {
constructor(props) {
super(props);
this.state = {
id: 1,
};
}
render() {
return (
<div>
<Dropdown align="end">
<Dropdown.Toggle variant="outline-success" id="dropdown-basic">
Exposure Type: {
{
'1': 'Eins worked',
'2': 'Zwei worked',
'3': 'Drei worked',
}[this.state.id]
}
</Dropdown.Toggle>
<Dropdown.Menu>
<Dropdown.Item onClick={() => {
this.setState({id: 1});
}}>1</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 2});
}}>2</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 3});
}}>3</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 4});
}}>4</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 5});
}}>5</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 6});
}}>6</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 7});
}}>7</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 8});
}}>8</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 9});
}}>9</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 10});
}}>10</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 11});
}}>11</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 12});
}}>12</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 13});
}}>13</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 14});
}}>14</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 15});
}}>15</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 16});
}}>16</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 17});
}}>17</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 18});
}}>18</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 19});
}}>19</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 20});
}}>20</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
</div>
)
}
}
export default SelectComp;
iam trying to set the dropdown menu width dynamically to the exact same size like the whole dropdown, when it changes. How do i get the width oft the dropdown itself?
I also tried to align the dropdown menu to the "end" what caused it to be right aligned. In this case filling the remaining space to the left side is the problem.
I tried different approaches and failed with them. Has somebody an idea ho to get this done?
What am i doing wrong?
import React from 'react';
import {Col, Container, Dropdown, Row} from 'react-bootstrap';
class SelectComp extends React.Component {
constructor(props) {
super(props);
this.state = {
id: 1,
};
}
render() {
return (
<div>
<Dropdown align="end">
<Dropdown.Toggle variant="outline-success" id="dropdown-basic">
Exposure Type: {
{
'1': 'Eins worked',
'2': 'Zwei worked',
'3': 'Drei worked',
}[this.state.id]
}
</Dropdown.Toggle>
<Dropdown.Menu>
<Dropdown.Item onClick={() => {
this.setState({id: 1});
}}>1</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 2});
}}>2</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 3});
}}>3</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 4});
}}>4</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 5});
}}>5</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 6});
}}>6</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 7});
}}>7</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 8});
}}>8</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 9});
}}>9</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 10});
}}>10</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 11});
}}>11</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 12});
}}>12</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 13});
}}>13</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 14});
}}>14</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 15});
}}>15</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 16});
}}>16</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 17});
}}>17</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 18});
}}>18</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 19});
}}>19</Dropdown.Item>
<Dropdown.Item onClick={() => {
this.setState({id: 20});
}}>20</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
</div>
)
}
}
export default SelectComp;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使您的外部容器内联块,并提供下拉菜单100%宽度。例如:
https://codesandbox.io/s/modest-galois-modest-galois-galois-galois-z2xnlk
Make your outer container inline-block and give the dropdown menu 100% width. for example:
https://codesandbox.io/s/modest-galois-z2xnlk