返回
页面滚动时el-select超出可视区域的解决方法
前端
2023-09-22 10:19:46
el-select框在页面滚动时el-option超出元素区域的解决方法
问题场景:
- 页面内嵌了表格(含滚动条),内嵌了大量input和select。
- 点击select出现下拉框时,正常的情况是图1,但是在滚动表格内的滚动条时,会出现图二的情况。
导致原因:
- select的下拉框的元素标签不是跟随在select之后,而是在body标签下面,并且z-index的值比select小。
解决方法:
- 将select的下拉框的元素标签放在select之后,并将z-index的值设置为比select大。
具体步骤:
- 找到select元素的HTML代码。
- 在select元素的后面添加一个div元素。
- 在div元素中添加el-option元素。
- 设置div元素的position属性为absolute。
- 设置div元素的top属性为0。
- 设置div元素的left属性为0。
- 设置div元素的z-index属性为比select大的值。
示例代码:
<el-select>
<el-option label="选项1" value="1"></el-option>
<el-option label="选项2" value="2"></el-option>
<el-option label="选项3" value="3"></el-option>
</el-select>
<div style="position: absolute; top: 0; left: 0; z-index: 100;">
<el-option-group label="分组1">
<el-option label="选项4" value="4"></el-option>
<el-option label="选项5" value="5"></el-option>
</el-option-group>
<el-option-group label="分组2">
<el-option label="选项6" value="6"></el-option>
<el-option label="选项7" value="7"></el-option>
</el-option-group>
</div>
效果:
按照上述步骤操作后,下拉框将跟随select一起滚动,不会超出元素区域。
注意事项:
- 如果下拉框的内容较多,则需要调整div元素的高度。
- 如果下拉框的位置需要改变,则需要调整div元素的top和left属性。
总结:
通过将select的下拉框的元素标签放在select之后,并将z-index的值设置为比select大,可以解决el-select框在页面滚动时el-option超出元素区域的问题。