Bootstrap 如何限制React组件的大小并添加滚动?

gstyhher  于 2023-05-27  发布在  Bootstrap
关注(0)|答案(2)|浏览(117)

我有动态的按钮数量,我需要根据用户呈现。在此对话框中,他们需要选择其中一个选项并提交。我的目标是让它看起来像这样,最多显示4个按钮,并能够滚动其余的按钮:

但是,如果有4个以上的按钮可用,则这些按钮将离开屏幕,无法访问,即使用户在对话框外向下滚动页面:

我想重新构造我的代码,以便我有一个大小限制的react组件,一次只能显示4个,确保整个屏幕停留在页面上。
我已经将代码存储在这个JSFiddle中:https://jsfiddle.net/connorcmu/f01xhsat/1/
renderDialog和renderButtons是此处的相关部分:

renderButtons: function() {
var accountList = this.props.accounts;

var buttonList = accountList.map(function(account) {
  return (<div className='col-sm-6'>
    <GEMSelector classname='leftButtonContainer' header={account.organization_name} stat={account.tier} contacts={account.subscriber_count+' / '+account.max_subscribers+' Contacts'} credits={account.mailing_credits + ' Credits'}></GEMSelector>
  </div>);
});
var accountsGrid =
  (<div className="container-fluid">
    <div className="row">
      <div className='col-sm-6'>
        <GEMSelector classname='leftButtonContainer' header='FRANKS CASINO' stat='Create new account' contacts='' credits='' specialpadding={true}></GEMSelector>
      </div>
      {buttonList}
    </div>
  </div>);

return {accountsGrid};
  }

此外,如果有任何方法可以使对话框更大,这样提交按钮就不会像那样浮动,这将是非常有帮助的。

unguejic

unguejic1#

从代码中可以看出,您需要为accountsGrid中的className=“row”添加一个新类。

var accountsGrid =
    (<div className="container-fluid">
    <div className="row selection-area">

看到一个新的类被添加'selection-area'并添加宽度为'GEMSelector'高度两倍的溢出

.selection-area{
     overflow: scroll;
     height: 300px;
}
tez616oj

tez616oj2#

在React JS中也遇到了同样的问题。我会添加一个容器类,比如:

<div className="row container">
    content
</div>

然后为容器类添加样式:

.container {
   overflow-y: scroll;
   height: 100vh;
}

相关问题