天天看点

vue的v-if隐藏不了元素失效问题,因为display:none; 失效,所以元素还显示

1.开始隐藏echarts的图表没隐藏掉

<div class="tableonejjtp" v-if="dasdasadsa1">
        //中间是多个echart可视化的div
</div>      

2.后来在网上找了好多方案也没解决掉,最后直接在外层套个div设置if隐藏,简单直接!

1. <div  v-if="dasdasadsa1">
 
    <div class="tableonejjtp">
            //中间是多个可视化图
</div>
</div>      

下面总结几个我找答案过程中找到的元素没隐藏成功的可能性因素:

1.display的意思,它代表css的块与行元素的处理,如将块元素,转化成行元素,块级元素,拥有width和height的属性,问题中的display:none没效的原因可能就是因为这个元素并不是一个块级元素

2.可能是元素之前已经设置了 display的类型,然后再动态传参的方法为该元素添加一个display=none的class类名,此时display:none会失效掉。解决方法就是把之前给这个元素设置的display类型给删了就行

继续阅读