React-Boostrap [设置下拉菜单宽度与更改时的大小相同]

发布于 2025-02-13 10:09:25 字数 4497 浏览 1 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

像极了他 2025-02-20 10:09:25

使您的外部容器内联块,并提供下拉菜单100%宽度。例如:

 <Dropdown className="d-inline-block">
 ...
    <Dropdown.Menu className="w-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:

 <Dropdown className="d-inline-block">
 ...
    <Dropdown.Menu className="w-100">

https://codesandbox.io/s/modest-galois-z2xnlk

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文