是否可以在 Scroll 上的 material-ui 选择列表中获取滚动位置?

daw*_*d11 2 select onscroll web reactjs material-ui

是否可以material-ui 在 Scroll上的列表中获取滚动位置,如果可以,如何获取?

我正在尝试在选择列表上添加无限滚动,因为我有 5300 个元素,并且需要永远渲染所有这些元素。

Anw*_*rdo 5

是的你可以。您需要添加一个滚动处理程序并测试scrollTop列表与scrollHeight. 下次请在您的问题中添加一些代码,这样人们会更容易帮助您。

function LongList(props) {
  function loadMoreItems(event) {
    if (event.target.scrollTop === event.target.scrollHeight) {
     //user is at the end of the list so load more items
    } 
  }


  return (
    <List
      onScroll={loadMoreItems}
      style={{
        maxHeight:300,
        overflowY:'scroll'
      }}
    >
      <ListItem></ListItem>
      <ListItem></ListItem>
      <ListItem></ListItem>
      <ListItem></ListItem>
   </List>
  )
}
Run Code Online (Sandbox Code Playgroud)

编辑:要定位 a 的列表,<Select>您需要<Menu>使用MenuProps道具定位组成选择列表的组件。

<Select
  MenuProps={{
    onScroll:loadMoreItems
  }}
>
  {...menuItems}
</Select>
Run Code Online (Sandbox Code Playgroud)

material-ui在他们的api 方法文档中描述了定位内部组件的方法