闪烁问题
是这样的,我有一个列表,双击某行数据出现
dialog
,然后dialog
里面有一个tabs
,有三个
选项卡,我刚双击行数据打开dialog
的时候,tab
里面的表格列表会闪烁一下。
咨询了别的大佬才知道,造成这个现象的原因是
渲染问题
,当你双击打开dialog
时,tab
并没有高度,然后渲染出列表,列表是有高度的,从而导致一个从无到有的高度,造成了一下闪烁,因为浏览器计算dom
高度也是需要时间的的。
- 解决方法很简单,给
选项卡tab
高度就可以解决掉这个问题。
dialog挂载卸载问题
顺便提一嘴,我是用的自己封装的dialog,通过
v-model
来控制显示隐藏,我发现当我双击了第一行数据的时候没问题,相对应的调取了接口,然后我关闭掉dialog
,我再次双击列表的第二行数据发现没有调用接口,还是第一行的数据,我这里造成这个的原因是dialog并没有完全的卸载,就是相当于v-show隐藏了而已,从而没有触发我dialog
里面组件的onMounted
函数
第一种方案
给dialog组件加个
v-if
第二种方案
给dialog加
destroy-on-close
属性,默认为false
,并在dialog关闭的回调函数里面把destroy-on-close
属性改为true
即可。