el-select 数据下拉懒加载

el-select 数据下拉懒加载

  1. 下拉框需要分页查询,需要加入自定义指令,下拉到底部时触发下一页的查询
1
2
3
4
5
6
7
8
9
10
<el-select v-model="value"
placeholder="请选择"
v-loadMore="loadMore">
<el-option v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>

  1. 自定义指令
1
2
3
4
5
6
7
8
9
10
11
12
loadMore: {
bind(el, binding) {
const dom = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap'); // 获取下拉框元素
dom.addEventListener('scroll', function () { // 监听元素触底
const condition = this.scrollHeight - this.scrollTop <= this.clientHeight;
if (condition) {
binding.value();
}
});
},
},

  1. 方法
1
2
3
4
loadMore() {
console.log('到底部了,继续加载数据')
// 当下拉框滚动且触底时,会触发此事件,可以在此处去请求下拉框分页数据
}

el-select 数据下拉懒加载
http://example.com/2023/03/23/el-select-数据下拉懒加载/
作者
dinghw
发布于
2023年3月23日
许可协议