React Virtualized windowsscroller scrollElement не работает

Вы были правы, что я неправильно передал реквизит. Теперь у меня настроено так:

Контейнер.jsx

<div className='container' ref={(ref) => {this.foo = ref;}}>
  this.renderContainer()
</div>

<Section scrollContainer={this.foo}/>

Section.jsx (просто передача реквизита)

<Panel scrollContainer={this.props.scrollContainer}/>

Section.propTypes = { scrollContainer: PropTypes.object.isRequired }

Panel.jsx (передача реквизита)

<RenderedTable scrollContainer={this.props.scrollContainer} />

RenderedTable.jsx

return (
  <div className='padding-top-20 font-smoothing'>
    <WindowScroller scrollElement={this.props.scrollContainer}>
      {({ height, isScrolling, scrollTop, onChildScroll }) => (
        <AutoSizer disableHeight>
          {({ width }) => (
            <Table

К сожалению, windowScroller по-прежнему не изменяет размер. Я также не получаю никаких предупреждений или ошибок. Используете ли вы трюки css, чтобы изменить размер скроллера? Я вижу, что в примере https://bvaughn.github.io/react-virtualized/#/components/WindowScroller вы изменяете свойства flex и overflow при изменении scrollElement с window на scrollingBody.

Я знаю, что вы очень заняты, и очень ценю вашу помощь!


person user1516734    schedule 29.06.2017    source источник


Ответы (1)


В вашем примере вы назначили ссылку прокрутки на this.tabsContainer, но пытаетесь получить к ней доступ как this.props.tabContainer. Либо это ваша ошибка, либо пример неполный и нужен дополнительный контекст. :) Можете ли вы предоставить Plnkr?

person bvaughn    schedule 30.06.2017