若依 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>
相关推荐
积流成海4 小时前
用代码实现哈希计算器:Web Crypto API 实战
前端·算法·哈希算法·哈希函数·盘子工具站
data analyse 4564 小时前
服务端访问日志聚合 PV 与 UV 怎么实现?日志采集与口径设计
大数据·前端·数据分析
song5014 小时前
React Native for OpenHarmony 实战:三方库 react-native-ratings 的鸿蒙化适配指南
javascript·react native·react.js·分类·harmonyos
JavaGuide4 小时前
DeepSeek Harness 重磅更新,Codex、Claude Code 子智能体进官方插件列表了,还有 Git 工作树和思考翻译!
前端·后端
WeiXin_DZbishe5 小时前
基于微信小程序的本地闲置物品交易平台-计算机毕设 附源码【课程设计】26825
vue.js·spring boot·python·微信小程序·架构·php·课程设计
小羊没烦恼!5 小时前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
朱包林5 小时前
iTerm2终端配置指南
linux·javascript·python·云原生·容器·kubernetes·云计算
高级程序源5 小时前
springboot本地生活服务平台33399-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·小程序·flask·课程设计
高级程序源5 小时前
springboot社区旧物回收管理系统25381-计算机课程设计、毕业设计
vue.js·spring boot·python·django·课程设计
高级程序源5 小时前
springboot大学生体测系统72170-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·django·课程设计