【问题标题】:Button dropdown not working properly in Reactstrap | React JSReactstrap 中的按钮下拉菜单无法正常工作 |反应 JS
【发布时间】:2020-08-29 12:39:25
【问题描述】:

我正在处理一个反应项目,使用ReactstapButton Dropdown 组件。

下拉菜单正常工作,但当它打开时,它与网站中的内容重叠(在我的例子中,它只是一个 react-table,我在其中显示了一些数据。)

我的问题是在重叠内容时,它部分允许我们与其下方的表格进行交互(如图所示,它允许调整列的大小而不是选择该项目)。它可以防止下拉图标上的点击行为。

请帮助我。

这是我的代码

render() {

  return (
    <ContentWrapper>
      <div className="content-heading">
        Users
        <div className="header-actions">
          <i className="fas fa-search fa-xs header-action mt-2 neutral5-color" />
          <Input
            id="serach"
            name="name"
            type="search"
            placeholder="Search"
            value={this.state.search}
            onChange={event => this.setState({ search: event.target.value })}
            className="header-action"
          />
          <Button
            color="primary"
            onClick={this.toggleModal}
            className="header-action">
            Add User
          </Button>

          <ButtonDropdown color="primary" isOpen={this.state.dropdownOpen} toggle={() => {this.setState({dropdownOpen: !this.state.dropdownOpen})}}>
            <DropdownToggle caret>
              Filter (All)
            </DropdownToggle>
            <DropdownMenu>
              <DropdownItem onClick={() => console.log('all')}>All</DropdownItem>
              <DropdownItem onClick={() => console.log('user')}>User</DropdownItem>
              <DropdownItem onClick={() => console.log('super user')}>Super user</DropdownItem>
              <DropdownItem onClick={() => console.log('super admin')}>Super Admin</DropdownItem>
            </DropdownMenu>
          </ButtonDropdown>

          <AddUser
             toggleModal={this.toggleModal}
             fields={this.state}
          />
        </div>
      </div>
      <div className="section-content-wrapper flex-column">
        <Card className="card-default user-card-height">
          <CardBody>
            <ReactTable
              data={users}
              columns={this.columns}
              noDataText={"Didn't find any user."}
              defaultPageSize={DEFAULT_PAGE_SIZE_IN_TABLE}
              showPageSizeOptions={false}
              PaginationComponent={CustomPagination}
              minRows={0}
              sortable={false}
              loading={is_loading}
              onPageChange={page =>
                document.getElementsByClassName('rt-tbody')[0].scrollTop = 0
              }
            />
          </CardBody>
        </Card>
      </div>
    </ContentWrapper>
  );
}

提前致谢。

【问题讨论】:

    标签: javascript reactjs drop-down-menu reactstrap


    【解决方案1】:

    我不了解 Reactstap 本身,但解决方案是您需要确保下拉 z-index 高于表格以及您希望位于此下拉菜单后面的任何背景。

    【讨论】:

    • 如何将z-index设置为最大?附言我是前端开发的新手。
    • @JayPatel 您不必将 z-index 设置为最大值,它只需要高于背景中的值,您可以使用这些值本身。我建议首先使用 chrome 开发工具来定位元素,然后在元素上尝试更高的 z-index,然后从 React 将该值设置为该元素
    • 我将表的 z-index 设置为 0 并且它起作用了。谢谢
    猜你喜欢
    • 2020-10-27
    • 2017-11-29
    • 1970-01-01
    • 2021-08-29
    • 2020-01-07
    相关资源
    最近更新 更多