若依 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>
相关推荐
烈风逍遥10 分钟前
第七篇:提示词模板管理与 Agent 提示词编排
前端·人工智能·后端
Amos_Web19 分钟前
Rspack 源码解析(十二):JavaScript Chunk 是如何被渲染出来的
前端·rust·源码
前端探险家Rick28 分钟前
React Native 二级弹出面板 + 键盘适配:从踩坑到正确方案
前端
用户9210802628632 分钟前
MCP 是什么?用 Figma MCP 辅助还原 Vue 页面
前端
用户9210802628632 分钟前
用 Figma MCP 还原 Vue 页面时,我遇到的三个问题
前端
修罗王33 分钟前
从 React Bits 到 Vue/Svelte Bits:重新定义前端“视觉表达层“
前端
kiros_wang34 分钟前
Notification 本地通知:定时消息、点击路由跳转、桌面角标适配
前端
计算机毕设定制辅导-无忧学长38 分钟前
《基于Vue的流浪动物救助中心管理系统的设计与实现》
java·vue.js·spring boot·流浪动物救助中心管理系统
flash俊杰41 分钟前
SQLite + sqlite-vec:100 篇文档内的私域知识库怎么做
前端