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

标签 javascript jquery css twitter-bootstrap reactjs

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

enter image description here

但是,如果可用按钮超过 4 个,按钮就会离开屏幕并且无法访问,即使用户在对话框外向下滚动页面也是如此:

enter image description here

我想重组我的代码,以便我有一个大小受限的 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};
  }

另外,如果有什么方法可以使对话框变大,这样提交按钮就不会像那样 float ,那也会非常有帮助。

最佳答案

从代码看来,您需要为 accountsGrid 中的 className="row"添加一个新类。

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

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

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

关于javascript - 如何限制我的 React 组件的大小并添加滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32341358/

相关文章:

javascript - 将元素移动到父元素的末尾

jquery - jQuery 中的空花括号

html - 根据文本长度设置div背景颜色

javascript - CSS溢出表行定位

javascript - 使用 NavigationService 在 React 组件之外的 React Native 中导航、弹出、重置

javascript - 无法将数据从跨域 json 分配给 Ajax 中的变量

javascript - 访问控制公开 header 的位置

javascript - 在输入掩码占位符中添加当前日期

javascript - 通过开发者工具更改值的事件

python - 如何在 python 中创建 CSS 文件