el-select滚动到底部加载更多
原由写这个指令主要是项目中有时候下拉框会有很多数据,一次性加载太多又太慢。指令代码import Vue from 'vue'export default {}.install = (Vue, options = {}) => {Vue.directive('loadmore', {inserted(el, binding) {// 获取element-u...
·
原由
写这个指令主要是项目中有时候下拉框会有很多数据,一次性加载太多又太慢。
指令代码
import Vue from 'vue'
export default {}.install = (Vue, options = {}) => {
Vue.directive('loadmore', {
inserted(el, binding) {
// 获取element-ui定义好的scroll盒子
const SELECTDOWN_DOM = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap')
SELECTDOWN_DOM.addEventListener('scroll', function() {
const CONDITION = this.scrollHeight - this.scrollTop <= this.clientHeight
if (CONDITION) {
binding.value()
}
})
}
})
}
引用
在main.js中引入该文件。例如:
import loadMore from '@/directive/loadMore/loadMore' // 下拉加载更多
Vue.use(loadMore);
这样就能在全局使用该指令了
使用
<el-select
v-loadmore="这里是你自己定义的函数"
>
</el-select>
更多推荐
已为社区贡献4条内容
所有评论(0)