显示隐藏控制 - xinwu-yang/cube-java GitHub Wiki

代码用法

  1. Vue指令
v-has="'name'"
  1. 代码示例
<a-form-item v-has="'name'"
  :labelCol="labelCol"
  :wrapperCol="wrapperCol"
  label="请假人">
  <a-input placeholder="请输入请假人" v-decorator="['name', {}]" />
</a-form-item>

权限配置

使用说明

  • v-has="'name'" 指令值“name”为授权标识,可对该授权标识进行“显示/访问”控制
  • 权限编码在【系统管理--菜单管理】中配置,添加按钮类型的菜单数据,授权标识配置值“name”,策略选择显示/访问,状态选择有效
  • 控制规则:
    • 使用v-has指令后,菜单权限中若没有对应指令编码的配置,则不显示控件,
    • 权限配置无效状态时,则不进行权限控制,有效状态时进行控制
    • 策略:显示/访问,未授权时不显示,授权后显示
    • 灵活: 一个授权标识码,可以控制多个控件,也可用于列表列字段的控制(请灵活使用)

特殊情况处理

如果给必填字段设置隐藏权限,将会导致字段隐藏了,但是校验还存在的问题。 造成该问题的原因是表单的渲染顺序导致的。 想要解决该问题,就不能仅仅使用 v-has 的形式来控制表单了,还需要通过编码的方式,动态给该表单的必填校验设置为false,将rules设置成computed计算属性可以获得更好的性能。