按钮权限设置
1、auth.js文件
// 权限校验 export function checkAuth(perms) { let flag = false let list = JSON.parse(localStorage.authList) // 登录后,后台返的菜单栏数据 // 树形扁平化方法 const flatten = function (arr) { const res = []; // 用于存储递归结果(扁平数据) // 递归函数 const fn = (source) => { source.forEach((el) => { res.push(el); // 执行递归 if (Array.isArray(el.children) && el.children.length > 0) { fn(el.children); } // 子级递归 }); }; fn(arr); return res; }; // 扁平化后 const flattened = flatten(list); // console.log("扁平化后", flattened); const rules = function (perms) { return flattened.some((item) => { const isRules = item.perms === perms && item.status === 1; if (isRules) { flag = true } return isRules; }); // 简化写法 /* return item.perms === perms && item.status === 1 */ }; rules(perms) return flag }
2、main.js文件
import { checkAuth } from '@/utils/auth'
3、判断
<el-button v-if="$checkAuth('后台返的权限')"@click="handleExport">导出</el-button>