在写项目卡在了element 时间选择器里
点击空白处时间选择器不关闭,而单独引用在其他地方则正常关闭。打开控制台发现有其他报错 。
以为是项目中控制元素显示隐藏的 disable undefined
:disabled="materialsSearch"
将组件中disable属性全部删掉后,仍然报错。
参考了其他文章
报错是因为 el-dropdown 下缺少 el-dropdown-menu 元素 ,我检查了下我代码里面都有 el-dropdown el-dropdown-menu
最后锁定到这里
这个输入框的下包含一个el-dropdown-menu ,我用来控制这个输入框的条件是v-if="!materialsSearch", v-if只有在判断为true的时候才会对数据进行渲染 ,false的时候把包含的代码进行删除 ,
代码执行到这,相当于没有渲染下面的el-dropdown-menu ,所以回到了刚才百度说的 el-dropdown 下缺少 el-dropdown-menu 元素 ,
解决办法
v-if 改成v-show 完美解决
v-if和v-show的区别
v-if隐藏显示元素是真正的将元素从dom结构中移除或者重新生成,而v-show是是否设置元素的display:none样式
延伸的效率问题:
浏览器操作dom节点会影响效率 ,所以v-show的效率更高