祖安之光
5 天以前 4d99171d6e935ba2060ae0af723a8e2db72d22d6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// // 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', function () {
// //                 // 当前的滚动位置 减去  上一次的滚动位置
// //                 // 如果为true则代表向上滚动,false代表向下滚动
// //                 const CONDITION = this.scrollHeight - this.scrollTop <= this.clientHeight
// //                 // 如果已达到指定位置则触发
// //                 if (CONDITION) {
// //                     // 将滚动行为告诉组件
// //                     binding.value()
// //                 }
// //             })
// //         }
// //     })
// // }
//
// import { Directive, DirectiveBinding } from 'vue'
//
// const selectScroll: Directive = {
//     beforeMount(el: any, binding: DirectiveBinding) {
//         //  如上图,我通过v-if来控制了两个select框,当没有binding.arg这个参数时,我只能监听到企业类型下的select框,所以,我通过传参控制了监听的哪个select框
//         const 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', function () {
//             // 当前的滚动位置 减去  上一次的滚动位置
//             // 如果为true则代表向上滚动,false代表向下滚动
//             const CONDITION = this.scrollHeight - this.scrollTop <= this.clientHeight
//             // 如果已达到指定位置则触发
//             if (CONDITION) {
//                 // 将滚动行为告诉组件
//                 binding.value()
//             }
//         })
//     },
// }
// export default selectScroll