前端如何实现列级权限控制?
我们后台返回的表格数据里,有些字段是敏感信息,比如手机号、身份证号,不同角色看到的列不一样。我在前端用的是 Vue + Element Plus 表格,现在直接把所有字段都渲染出来了,但不知道怎么根据用户权限动态隐藏某些列。
后端倒是能按权限返回不同的字段,但为了减少接口改动,想在前端做控制。我试过用 v-if 判断权限,但列太多写起来很麻烦,而且容易漏掉。有没有更优雅的方式?比如通过配置项自动过滤列?
比如现在表格列定义是这样的:
const columns = [
{ prop: 'name', label: '姓名' },
{ prop: 'phone', label: '手机号', permission: 'view_phone' },
{ prop: 'idCard', label: '身份证', permission: 'view_id_card' }
]
然后根据用户权限 user.permissions = ['view_phone'] 自动过滤掉没权限的列?
暂无解答