Newer
Older
smartwell_front / src / directives / load-more / index.ts
liyaguang on 27 Mar 1 KB 首页完成

import _ from 'lodash'
export default {
  created(el: any) {
  },
  mounted(el: any, binding: { value?: { loadmore?: Function } }) {
    // 监测是否快要滚动到底部
    let flag = true
    const selectWrap = el.getElementsByClassName('el-scrollbar__wrap')[0] as HTMLElement
    selectWrap?.addEventListener('scroll', function () {
      let sign = 50
      const scrollDistance = this.scrollHeight - this.scrollTop - this.clientHeight
      if (scrollDistance <= sign) {
        const { loadmore = () => { console.log('执行加在到底函数') } } = binding.value || {}
        if (flag) {
          loadmore()
          console.log('执行加在到底函数')
          flag = false
          setTimeout(() => {
            flag = true
          }, 1000);
        }
      }
    })
  },
  unmounted(el: any) {
    let flag = true
    const selectWrap = el.getElementsByClassName('el-scrollbar__wrap')[0] as HTMLElement
    selectWrap?.addEventListener('scroll', function () {
      let sign = 50
      const scrollDistance = this.scrollHeight - this.scrollTop - this.clientHeight
      if (scrollDistance <= sign) {
        const { loadmore = () => { console.log('执行加在到底函数') } } = binding.value || {}
        if (flag) {
          flag = false
          loadmore()
          setTimeout(() => {
            flag = true
          }, 1000);
        }
      }
    })
  },
}