javascript - 如何使列表的第一项始终位于顶部,列表的其余部分将独立于它滚动

标签 javascript reactjs material-ui

是否可以将列表的第一项定位到列表的顶部并且不与其他项目一起滚动?

     <Select
            open={open}
            value={value}
            onChange={this.handleSelectChange}
            onClose={this.handleSelectClose}
            onOpen={this.handleSelectOpen}
          >
            <MenuItem
              style={{
                backgroundColor: "transparent"
              }}
            >
              <TextField
                value={search}
                fullWidth
                placeholder="search"
                onChange={this.handleInputChange}
              />
            </MenuItem>
            {filteredOptions.length ? (
              filteredOptions.map(option => {
                return (
                  <MenuItem value={option} key={option.value}>
                    {option.label}
                  </MenuItem>
                );
              })
            ) : (
              <MenuItem disabled>No match</MenuItem>
            )}
     </Select>

它看起来像是 https://sharlaan.github.io/example3 上的自动完成

最佳答案

从 UX 的 Angular 来看,我不会将搜索字段放在列表中......你为什么不直接使用 Material-UI 的自动完成组件?在这种情况下,您将拥有一个普通的文本字段,一旦用户开始输入,它就会打开相应的列表。 参见 https://material-ui.com/demos/autocomplete/例如如何使用它...

如果你想要一个更复杂的选择组件,我可以推荐 React-Select ( https://react-select.com )。但是如果你想让它与 Material 的外观和感觉相匹配,你就必须自己设计它的样式......

关于javascript - 如何使列表的第一项始终位于顶部,列表的其余部分将独立于它滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57266252/

相关文章:

reactjs - 我正在尝试建立一个新的react.js项目并出现编译错误

reactjs - 如何在react js中检查 Material ui主题的类型? (浅色或深色)

css - 在 css 中访问 MaterialUI 断点

javascript - 像 google plus 这样的卡片瓦格

javascript - Crafty.js 显示白屏

javascript - 一起使用 jQuery timeago 或 momentjs 和 AngularJS

javascript - 如何在 react native 快照轮播中处理 Onpress 事件

unit-testing - jest.fn() 有什么作用以及如何使用它?

javascript - 如何防止 body 点击事件上的颜色框?

javascript - React - 处理作为 props 传递的 Null 值