Как программно прокрутить ящик в UI React JS материала? - PullRequest
0 голосов
/ 22 ноября 2018

Может кто-нибудь помочь, пожалуйста?Это мой код: https://codesandbox.io/s/5xoj9zw56l

Я следовал этому коду: https://codesandbox.io/s/6jr75xj8y3

1 Ответ

0 голосов
/ 22 ноября 2018

Ящик создает элементы, он будет иметь такую ​​структуру

parent div > nested div > your data

И при получении ссылки в ящик вы не получите ссылку на div, которую нужно прокрутить.

Чтовам нужно сделать, это вы можете добавить ref к вашим данным div и пройти через ref.parent, таким образом, у вас будет родительский div ref и там вы можете прокрутить элемент.

Для прокрутки у вас должен быть ref изdiv, где вы применили переполнение.

Вот изменения, которые вам нужно сделать

Вместо контейнера вы получите элемент aprent

handleScrollTo = () => {

    console.log(this.container.parentElement.scrollTop);
    this.container.parentElement.scrollTop = 200;
  };

вместо использования ref на ящикеиспользуя данные на свитке

<Drawer open={this.state.left} onClose={this.toggleDrawer( "left", false)} onScroll={e=> console.log("scroll " + e.target.scrollTop)} >
  <div ref={el=> (this.container = el)} tabIndex={1} role="button" onKeyDown={this.toggleDrawer("left", false)} > {sideList} </div>
</Drawer>

Вот демонстрационная ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...