若依 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>
相关推荐
提笔了无痕1 天前
Web中Token验证如何实现(go语言)
前端·go·json·restful
戌中横1 天前
JavaScript——Web APIs DOM
前端·javascript·html
Beginner x_u1 天前
如何解释JavaScript 中 this 的值?
开发语言·前端·javascript·this 指针
HWL56791 天前
获取网页首屏加载时间
前端·javascript·vue.js
烟锁池塘柳01 天前
【已解决】Google Chrome 浏览器报错 STATUS_ACCESS_VIOLATION 的解决方案
前端·chrome
速易达网络1 天前
基于RuoYi-Vue 框架美妆系统
前端·javascript·vue.js
LYS_06181 天前
RM赛事C型板九轴IMU解算(4)(卡尔曼滤波)
c语言·开发语言·前端·卡尔曼滤波
We་ct1 天前
LeetCode 151. 反转字符串中的单词:两种解法深度剖析
前端·算法·leetcode·typescript
yinmaisoft1 天前
JNPF 表单模板实操:高效复用表单设计指南
前端·javascript·html
37方寸1 天前
前端基础知识(JavaScript)
开发语言·前端·javascript