图书馆网站建设总结,佛山网站优化软件,wordpress 浏览数,上海企业网站建设公司哪家好vue2通过权限控制tab标签显示和隐藏 1、前言2、v-if实现自定义控制 1、前言 在开发过程中#xff0c;我们可能会遇到这样一个场景#xff1a;根据不同权限对tab栏内容进行控制#xff0c;这时候用自定义指令v-permission就达不到我们想要的效果#xff0c;其是将当前节点的… vue2通过权限控制tab标签显示和隐藏 1、前言2、v-if实现自定义控制 1、前言 在开发过程中我们可能会遇到这样一个场景根据不同权限对tab栏内容进行控制这时候用自定义指令v-permission就达不到我们想要的效果其是将当前节点的子元素进行移除此时当前节点依然存在如下图所示。这时候就需要利用v-if自定义控制其思路实v-if中执行一个函数函数传入一个权限值。在函数中判断权限值是否属于权限菜单内返回布尔类型值。 el-tab-pane label负荷跟踪 namefirst v-permissions[load_track]load-tracking refloadTrackingRef :childStationIdchildStationId /
/el-tab-pane2、v-if实现自定义控制
templatediv classcontentel-tabs v-modelactiveName tab-clickhandleClickel-tab-pane label负荷跟踪 namefirst v-ifcheckPermissionArr([load_track])load-tracking v-ifactiveName first refloadTrackingRef :childStationIdchildStationId //el-tab-paneel-tab-pane label功率跟踪 namesecond v-ifcheckPermissionArr([power_track])power-tracking v-ifactiveName second refpowerTrackingRef :childStationIdchildStationId //el-tab-paneel-tab-pane label数据曲线分析 namethird v-ifcheckPermissionArr([data_analysis])curve-analysis v-ifactiveName third refcurveAnalysisRef:childStationIdchildStationId/curve-analysis/el-tab-pane/el-tabs
/templatescript
import { checkPermissionArr } from /utils/permission // 权限判断函数export default{methods: {checkPermissionArr}
}
/script// src/utils/permission.js
/*** 字符权限校验* param {Array} value 校验值* returns {Boolean}*/
export function checkPermissionArr (value) {if (value value instanceof Array value.length 0) {let permissionIds store.getters[acl/permission]// console.log(permissionIds)const permissionArr valueconst hasPermission permissionIds.some(permission {return permissionArr.includes(permission)})if (!hasPermission) {return false}return true} else {console.error(暂无权限)return false}
}