饿了么下拉框滚动问题

img


这种问题有办法解决吗,下拉框再打开过程中,进行向下滑动,下拉框的值也会跟着滚动条进行滚动 然后出现在屏幕外面了

img


这个 popper-append-to-body属性 设置false看看

如果你是想解决出现在外面的问题,可以调整样式的z-index:

.el-popper[x-placement^=bottom]{
  z-index:2 !important;  // 值越小层级越小
}

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7681458
  • 你也可以参考下这篇文章:前端打印界面分页问题,以及当一个表格数据过多自动分页时,出现断行问题即一行数据被切割在两页纸上
  • 除此之外, 这篇博客: 前端开发规范手册中的 3) 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 正例: MAX_STOCK_COUNT

    反例: MAX_COUNT

  • 您还可以看一下 刘建萍老师的人工智能系列课程零基础讲解知识点和实例应用线性回归梯度下降逻辑回归课程中的 讲解机器学中会涉及到的有关数学方面的知识储备有哪些小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    对于饿了么下拉框滚动问题,可以考虑以下解决方案:

    1. 使用CSS解决

    通过CSS样式的修改可以解决下拉框滚动条问题。具体实现方法是设置下拉框的最大高度,使其不会超过屏幕上边缘,并将overflow-y设置为scroll,这样就可以设置滚动条的位置和尺寸。

    代码实现示例:

    .dropdown-menu {
      max-height: 200px;
      overflow-y: scroll;
    }
    
    1. 使用JS解决

    通过JS代码的修改可以解决下拉框滚动条问题。具体实现方法是监听下拉框的滚动事件,然后根据滚动条的位置和尺寸来确定选项的位置,使其不超出屏幕。

    代码实现示例:

    const dropdown = document.querySelector('.dropdown-menu');
    dropdown.addEventListener('scroll', function() {
      const optionTop = dropdown.querySelector('.is-active').offsetTop;
      const scrollTop = dropdown.scrollTop;
      const dropHeight = dropdown.getBoundingClientRect().height;
      const optionHeight = dropdown.querySelector('.is-active').getBoundingClientRect().height;
      if (optionTop + optionHeight > dropHeight) {
        dropdown.scrollTo(0, scrollTop + optionTop + optionHeight - dropHeight);
      } else if (optionTop < 0) {
        dropdown.scrollTo(0, scrollTop + optionTop);
      }
    });
    
    1. 使用第三方组件库解决

    可以使用第三方组件库,如elementUI、Ant Design等,它们都自带下拉框组件,并且已经处理了下拉框滚动条问题,可以直接使用。

    代码实现示例:

    <el-select v-model="value" :options="options" :popper-options="{ forceAbsolute: true }"></el-select>
    

    总结:

    以上三种方法可以解决饿了么下拉框滚动问题,可以根据具体情况选择合适的方法。如果使用第三方组件库,则可以省略很多编写代码的过程,提高开发效率。