前言:在项目中遇到要移动模块,但是移动时没有触发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()
到这里问题也已经解决了,以此记录