快速开始
代码生成器
前端项目指南
后端项目指南
插件使用教程
部署指南
更详部署指南
相关站点
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
按钮权限
实现方式是采用 vue 原生的注册指令方式, 实现代码
// 权限按钮展示指令 import { useUserStore } from '@/pinia/modules/user' export default { install: (app) => { const userStore = useUserStore() app.directive('auth', { // 当被绑定的元素插入到 DOM 中时…… mounted: function(el, binding) { const userInfo = userStore.userInfo let type = '' switch (Object.prototype.toString.call(binding.value)) { case '[object Array]': type = 'Array' break case '[object String]': type = 'String' break case '[object Number]': type = 'Number' break default: type = '' break } if (type === '') { el.parentNode.removeChild(el) return } const waitUse = binding.value.toString().split(',') let flag = waitUse.some(item => item === userInfo.authorityId) if (binding.modifiers.not) { flag = !flag } if (!flag) { el.parentNode.removeChild(el) } } }) } }
创建按钮
进入菜单管理
界面,点击新增或编辑,点击下方的新增可控按钮
填入按钮名称(英文且不重复)和描述后点击确定
进入权限管理
,点击设置权限-->分配菜单,如果此菜单有可控按钮,则会显示分配按钮权限
字样,点击进行分配
点击确定,完成分配。
代码操作
进入拥有可被控按钮菜单对应的前端页面,添加引入按钮控制组件,并在template中添加v-auth指令赋予需要被控制的按钮名称
<template>
<div>
// btnAuth为权限组件固定写法 .a a为菜单管理中创建的按钮名称 配置过后即可实现对按钮的控制
<div v-auth="btnAuth.a">按钮1</div>
<div v-auth="btnAuth.b">按钮2</div>
<div v-auth="btnAuth.c">按钮3</div>
</div>
</template>
<script setup>
import { useBtnAuth } from '@/utils/btnAuth'
const btnAuth = useBtnAuth()
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论