若依 v-hasPermi 自定义指令失效场景

今天使用若依跟往常一样使用v-hasPermi 自定义指令的时候发现这个指令失效了,原因是和v-if指令一块使用,具体代码如下:

vue 复制代码
<el-button
            size="mini"
            type="text"
            icon="el-icon-edit-outline"
            v-hasPermi="['evaluation:user:his']"
            v-if="scope.row.approveStatus === '2'"
            @click="handleHis(scope.row)"
          >评分记录</el-button>

这个其实平常也是这么用的,但是今天突然发现有问题,刚开始以为是v-hasPermi失效了,然后debug了一下,发现其实v-hasPermi指令是生效的,已经移除el-button标签,但是此时有符合v-if所以该按钮有显示出来了...

解决方案一

v-if替换为v-show

vue 复制代码
<el-button
            size="mini"
            type="text"
            icon="el-icon-edit-outline"
            v-hasPermi="['evaluation:user:his']"
            v-show="scope.row.approveStatus === '2'"
            @click="handleHis(scope.row)"
          >评分记录</el-button>

解决方案二

使用全局判断checkPermi([])函数做逻辑与操作。

vue 复制代码
<el-button
            size="mini"
            type="text"
            icon="el-icon-edit-outline"
            v-if="scope.row.approveStatus === '2' && checkPermi(['evaluation:user:his'])"
            @click="handleHis(scope.row)"
          >评分记录</el-button>
相关推荐
林恒smileZAZ4 小时前
Vue<前端页面版本检测>
前端·javascript·vue.js
码事漫谈7 小时前
当AI开始“思考”:我们是否真的准备好了?
前端·后端
许杰小刀8 小时前
ctfshow-web文件包含(web78-web86)
android·前端·android studio
我是Superman丶8 小时前
Element UI 表格某行突出悬浮效果
前端·javascript·vue.js
恋猫de小郭8 小时前
你的代理归我了:AI 大模型恶意中间人攻击,钱包都被转走了
前端·人工智能·ai编程
xiaokuangren_9 小时前
前端css颜色
前端·css
Huanzhi_Lin9 小时前
关于V8/MajorGC/MinorGC——性能优化
javascript·性能优化·ts·js·v8·新生代·老生代
hoiii1879 小时前
C# 基于 LumiSoft 实现 SIP 客户端方案
前端·c#
anOnion9 小时前
构建无障碍组件之Meter Pattern
前端·html·交互设计
小码哥_常10 小时前
Spring Boot配置diff:解锁配置管理新姿势
前端