通过VUE指令和pinia控制按钮权限

2022-06-27  本文已影响0人  垃圾简书_吃枣药丸
import {defineStore} from "pinia/dist/pinia";

// 用户权限状态
export const userPermission = defineStore('userPermission', {
    // 状态
    state: () => {
        return {
            permissions: ['add', 'delete']
        }
    },
    actions: {},
    // 状态的一些方法,类似于计算属性
    getters: {}
})
import {userPermission} from "./state/pinia-state";

let permissions = userPermission()

app.directive('permission', (el, binding) => {
    if (permissions.permissions.indexOf(binding.value) < 0) {
        // 移除当前元素
        el.parentNode.removeChild(el)
    }
})
  <el-row class="mb-4">
    <el-button v-permission="`add`">增1</el-button>
    <el-button v-permission="`delete`" type="primary">删2</el-button>
    <el-button v-permission="`a1`" type="success">改3</el-button>
  </el-row>
image.png
上一篇 下一篇

猜你喜欢

热点阅读