前言:在项目中遇到要移动模块,但是移动时没有触发el-date-picker的blur,导致模块移动时el-date-picker的日期选择框没有关闭,未达成效果。
首先,查看element文档发现el-date-picker的methods方法中只有focus,没有blur

但是还是添加了ref,打印查看,眼见为实
![]()

可以看到是有一个blur方法的,于是就添加了 this.$refs.selectMove2.blur()尝试,结果发现,并没有解决问题,picker日期弹窗还是存在的,没有隐藏。
于是尝试了第二种方法,简单粗暴,找到picker对应的dom节点然后js中修改样式为display:none,
document.getElementsByClassName('el-date-picker')[0].style.display = 'none'虽然达到了效果,但是出现了新的问题,在触发此次隐藏后picker弹窗不会出现,需要重新触发一次失去焦点才会再次显示picker弹窗。
最后,在上面打印的数据中看到一个隐藏弹窗的方法,于是做出了新的尝试,

this.$refs.selectMove2.hidePicker()到这里问题也已经解决了,以此记录
版权声明:本文为s_9527_s原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。