当下拉框数据过多时,加载会非常慢,所以使用分页去显示,通过监听滚动事件来达到分页效果。

我是使用Vue自定义指令来做的。
一、首先在src下创建一个js文件,完成自定义指令的编写
import Vue from 'vue'
export default () => {
Vue.directive('selectScroll', {
bind (el, binding) {
// 如上图,我通过v-if来控制了两个select框,当没有binding.arg这个参数时,我只能监听到企业类型下的select框,所以,我通过传参控制了监听的哪个select框
var className='.'+binding.arg
el.className=binding.arg
// 获取滚动页面DOM
const SCROLL_DOM = el.querySelector(`${className} .el-select-dropdown .el-select-dropdown__wrap`)
// const SCROLL_DOM = el.querySelector(“.el-select-dropdown .el-select-dropdown__wrap“)
SCROLL_DOM.addEventListener('scroll', f