Vue指令:通过权限控制按钮显示


import Vue from 'vue'
import Store from '@/store'
/**
 * 权限控制按钮显示指令
 * @params {Array[String,Boolean]}  [权限code码,其他控制条件]
 */
function changeHaspms(el, binding){
    if (!permissionJudge(binding.value)) {
        el.style.display="none"
    }else{
        el.style.display=""
    }
    function permissionJudge(value) {
        const [code,otherFlag=true] = value
        const list = Store.getters.permissions
        const hasPms = list.includes(code)
        return hasPms && otherFlag
    }
}
Vue.directive('haspms', {
    bind: function(el, binding,vnode) {
        changeHaspms(el, binding)
    },
    update(el, binding,vnode){
        changeHaspms(el, binding)
    }
})

 使用

  

<li @click="updateOrganizeStatus($event,organizeItem)"
        v-haspms="['PZZX.ZZGL.QY',organizeItem.status === 0]">启用
</li>

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM