SpecificPermAccessControl

SpecificPermAccessControl 用来根据一个或多个特定权限有条件的渲染其他组件(我们称之为 access-controlled components)。

使用时,可以将 access-controlled components 包在该组件内部:

<SpecificPermAccessControl perm='cuba.restApi.fileUpload.enabled'>
  <button>Upload File</button>
</SpecificPermAccessControl>

也可以通过 render 属性提供:

<SpecificPermAccessControl perm='cuba.restApi.fileUpload.enabled'
                           render={disabled => <button disabled={disabled}>Upload File</button>}
/>

如果两种方式同时使用,那么 render 属性优先级更高。

上面两个例子中,只有当用户有权限上传文件时,按钮才会显示。

如需指定多个需要的权限,可以是使用数组:

<SpecificPermAccessControl perm={['cuba.restApi.fileUpload.enabled', 'some.custom.specific.permission']}>
  <button>Upload File</button>
</SpecificPermAccessControl>

除了隐藏 access-controlled components 之外,还可以通过设置 mode 属性为 disable 来禁用组件。如果 modedisable

  • 如果提供了 render 属性,那么该属性中组件的 disabled 参数会接收 true

  • 否则,每个子组件都会收到一个名称为 disabled 值为 true 的属性。属性名称可以通过 disabledPropName 设置,值可以通过 disabledPropValue 设置。


另外,可参考: