index.js 1018 B

12345678910111213141516171819202122232425
  1. export default {
  2. 'select-loadmore': {
  3. bind(el, binding) {
  4. // binding.arg 自定义数据
  5. // 获取element-ui定义好的scroll盒⼦
  6. const SELECTWRAP_DOM = el.querySelector(binding.arg.class)
  7. // ".el-table__body-wrapper"
  8. // '.el-select-dropdown .el-select-dropdown__wrap'
  9. SELECTWRAP_DOM.addEventListener('scroll', function () {
  10. /**
  11. * scrollHeight 获取元素内容⾼度(只读)
  12. * scrollTop 获取或者设置元素的偏移值,常⽤于, 计算滚动条的位置, 当⼀个元素的容器没有产⽣垂直⽅向的滚动条, 那它的scrollTop的值默认为0.
  13. * clientHeight 读取元素的可见⾼度(只读)
  14. * 如果元素滚动到底, 下⾯等式返回true, 没有则返回false:
  15. * ele.scrollHeight - ele.scrollTop === ele.clientHeight;
  16. */
  17. const condition = this.scrollHeight - this.scrollTop <= this.clientHeight
  18. if (condition) {
  19. binding.value()
  20. }
  21. })
  22. }
  23. }
  24. }