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