nodePlatform-eggjs icon indicating copy to clipboard operation
nodePlatform-eggjs copied to clipboard

如果把权限指令放到table的插槽中,即使没有权限,按钮也不会隐藏

Open ghost opened this issue 4 years ago • 2 comments

在directive/permission/button.js中修改如下:

export default {
  install(Vue, options) {
    Vue.directive("roleBtn", {
      componentUpdated: function (el, binding) {
        let btnId = binding.value
        let userInfo = JSON.parse(localStorage.getItem("info"))
        if ((btnId && userInfo.permissionButton.indexOf(btnId) !== -1) || userInfo.role === "超级管理员") {
          return false
        } else {
          el.parentNode.removeChild(el)
        }
      },
      //新增
      inserted: function (el, binding) {
        let btnId = binding.value
        let userInfo = JSON.parse(localStorage.getItem("info"))
        if ((btnId && userInfo.permissionButton.indexOf(btnId) !== -1) || userInfo.role === "超级管理员") {
          return false
        } else {
          el.parentNode.removeChild(el)
        }
      }
    })
  }
}

ghost avatar Sep 28 '20 15:09 ghost

在table插槽中使用:

....
 <el-table-column label="操作" align="center">
          <template slot-scope="scope">
           <div>
              <el-button size="mini" v-role-btn="'btn_100083'"  >编辑</el-button>
            <el-button size="mini"   v-role-btn="'btn_100084'">删除</el-button>
           </div>
          </template>
        </el-table-column>
....

hanpanapn avatar Sep 28 '20 15:09 hanpanapn

感谢反馈并给出解决方案,当时这样写只为了演示动态切换角色来查看切换后的权限,纯前端的那个是正确的,这个忘记修改了,马上修复

xuxuxu-ni avatar Sep 29 '20 01:09 xuxuxu-ni