宁波网站建设是哪家便宜,高密住房和城乡建设部网站,网站权重查看,网站建站步骤流程监听a-modal遮罩层的滚动事件
我们开发过程中经常有遇到监听页面滚动的事件需求#xff0c;去做一些下拉加载或者是下拉分页的需求#xff0c;我们直接在vue的生命周期中去绑定事件监听非常的方便#xff0c;但如果是弹框的遮罩层的滚动监听呢#xff1f;页面的监听完全是…监听a-modal遮罩层的滚动事件
我们开发过程中经常有遇到监听页面滚动的事件需求去做一些下拉加载或者是下拉分页的需求我们直接在vue的生命周期中去绑定事件监听非常的方便但如果是弹框的遮罩层的滚动监听呢页面的监听完全是不起作用的我们需要怎么办看看我的场景
我们可以看到弹框过大右侧已经出现了滚动条然后左边的下拉框由于随着遮罩层滚动条的滚动下拉项的列表脱离了原有的位置就很丑没有跟随下拉菜单移动这也许是ant的缺陷这个时候我们需要监听遮罩层的滚动及时的让下拉菜单失焦就可以解决这个问题由于页面加载时弹框是没有出现的明显是没有遮罩层的我们监听不到监听时机很重要上代码
watch: {//我们监听弹框的开关visible(nVal) {if (nVal) {//打开弹框时在$nextTick里拿到遮罩层的dom然后监听滚动事件this.$nextTick(() {this.oDiv document.getElementsByClassName(ant-modal-wrap )[0];this.oDiv.addEventListener(scroll, this.handleScroll);});}},},methods: {//解决弹框滚动时下拉菜单飘移的问题handleScroll() {//通过短路与兼容语法 主动让表单失焦this.$refs.selectcompany this.$refs.selectcompany.blur();this.$refs.selectAttr this.$refs.selectAttr.blur();},}