一、 搭建权限列表组件,从后台获取的所有权限渲染到权限列表中,并根据权限的等级展示不同的tag标签
二、搭建角色列表组件,在该组件中可以添加角色,通过树状图展示角色的权限,可对角色信息进行修改,为角色的权限进行增加或删除,删除当前角色等功能
1、添加角色功能
简单的一个表单验证
2、用户权限树状结构展示
三层嵌套循环渲染权限,并给每个权限标签添加删除功能,可以在不点击分配权限功能按钮对权限进行快速删除
实时删除权限标签时调用接口,更新最新的权限结构,会将页面重新渲染,网页会进行刷新,这里采用了一种巧妙的用法:直接将删除后接口返回的最新权限数据赋予标签页面渲染所用的数据,可以实时进行权限的删除
3、分配权限时渲染所有权限树形结构,并将角色已有权限处于选择状态
小技巧:在这里只需要获得最后一级权限的id值即可,当最后一级权限被选中时,前几级权限会处于半选中或选择状态。
难点:最后一级权限id位于数据最深层,怎样获得id
解决:定义一个递归函数,将权限id储存起来
因为将当前点击角色的所有权限id存储在数组中,所以在分配完成后,需将该数组请零,防止与下一个点击的用户渲染的数据发生冲突