近日做前后端分离项目,
前端vue+element ui;
有两个相似的页面,有1个下拉选框,值是年,月,日,用来控制后面日期选择器要显示选择年,选择月,选择日;
开始是使用v-show,在第一 个页面是没有问题的;
但是在第二个页面,v-show突然不起作用了;
这里贴一下图:
页面1:
-------------------------------------------
页面2:
----------------------------------------------
因为第二个页面选择日的时候,后面的日期选择器是选择日期区间的,有开始日期和结束日期,对于这个控制元素,v-show不起作用。
对vue有了解的同学都知道,控制页面元素显示隐藏的,除了v-show还有v-if;
这里看一下vue中v-if和v-show官方文档的介绍:
虽然也看不出来啥,但是使用v-if,就OK了。
问题解决了。
个人理解,可能是v-show对于元素渲染,只针对单个元素渲染,所以当日期选择框只有一个值的时候,是有效的;
但是日期选择变为期间的时候,表面上看其实是是两个元素值了,所以导致v-show 的css渲染失效。
以上只是个人猜测;