当前列表页设置了缓存keepAlive=true,同时,在同一个按钮上使用v-if判断数据状态、用v-hasPermi判断按钮权限
v-if的数据状态改变,由 ==1 变成 ==2 的时候,后面的v-hasPermi判断失效

在这里插入图片描述

原因
是因为一开始页面初始化时,v-if 判断前两行为 true , 后两行没有在页面渲染元素,所以只校验了前两行的v-hsaPermi方法(v-if和v-show的区别),当后面修改了数据状态,v-if后两行为 true,由于页面设置了缓存,根本没有加载v-has-permi这个方法。
v-if改为v-show即可,v-show不会移除元素,只是修改了css的样式为隐藏,这样进入当前列表页就会触发这四行的v-hsaPermi方法

在这里插入图片描述

Logo

快速构建 Web 应用程序

更多推荐