权限的配置,组件传值

1:先考虑点击按钮disable属性是true还是false,通过currentRow进行判断,如果currentRow里面有值,如果有值就说明选中一行了,先再data中设置为空,然后在handleCurrentChange方法里里面通过点击会给currentRow进行复制,所以在我点击的时候currentRow有值 disable为false,按钮就是可以变成点击状态。这时候这个弹窗里面并没有值

2:显示的弹窗,在role文件里面在创建一个Auth组件,在原role组件中就写一个确定,取消按钮就可以,其他的通过element-ui 在Auth组件自己定义一下,在之后,再原先的Role.vue组件中注册这个Auth组件,在权限弹窗中写出这个组件的标签,点击按钮帮订( @click="roleAuthVisible = true")就可以把这个弹窗显示出来了

3:我们想要给设置角色的权限这个按钮,让他功能实现。

现在用 父组件向子组件传值,让我在点击某个角色,在点击按钮时能够把这个角色在按钮框上显示出来。

分析:当我点击某一行的时候handleCurrentChange会给currentrow赋值,那我我们就用props的方式给他传递过去,父组件通过v-bind的(或者说属性的这种方式)去传递[<Auth :role="currentRow"></Auth>],在子组件data同级别用props接收一下 然后再mounted里面去输出一下,看是否能拿到,拿到之后然他进行显示,因为本身有更新对象的方法,也有属性,所以直接再mounted里面赋值, this.updateRole=this.role,然后我在框里面就可以看到我点击的名字。

4:接下来就是为他设置权限,我想再下面来一个框架把所有的title都显示出来,然后能进行勾选,勾选的就有去权限,现在首先让这个东西展示出来。

思路:先把这个东西都获取到,再进行显示

获取就是再弹窗组件中,引入列表再写一个方法接受列表,然后进行判断(利用map,还有回调函数),决定让列表哪个部分显示出来,

 写完这个之后我找一个变量再data定义一下,然后再monthed里面把获取的列表存一下,

然后就是让他这个怎么显示的问题了。

4.1  再elementui里面有一个树形控件是比较符合的,还有可选则的。

然后把我的data值换成我刚才在获取的列表,然后能够点击之后要触发一个事件

 这个事件要看是否选中,选中就把index存进去,没选中就删除,但是对于有孩子的,没选中父节点就把父节点删除了,要是选中父节点子节点又都会选中,

5:所以下面进行解决这个bug  

bug描述:在我想要在弹出框内想要展示列表的时候我定义了一个方法,然后再这个方法里面我描述进行判断是否进行展示,如果选中就默认展示,没选中就不去存起来,并且删除。但是在点击用户勾选然后再点击孩子节点的时候,孩子的父节点-学员那个总勾选框没有点击就会传进else这时的(this.checkKeys.indexOf(data.index)是-1,所以在删除的时候就相当于splice(-1,1)把最后一个删除了。

解决:加一个判断,如果不等于-1就删除 等于-l就什么也不做

if(this.checkedKeys.indexOf(data.index) != -1){

            this.checkedKeys.splice(this.checkedKeys.indexOf(data.index),1)

         }

6:角色权限选择好了就进行点击确定,然后就可以发送请求了,把这个角色的权限填进去就可以了。

告诉这个父组件,我这个角色的名字都是什么.

>1先写一个方法getMenus()里面把checkKeys里面选中的项存到this.updateRole.menus里面,然后再传给父组件   

子组件向父组件传值 在父组件的子组件标签上增加个ref的属性 然后起个名字  例如这个ref="auth", 然后在我点击确定按钮的时候我就可以通过this.$refs["auth"](后面加上我在子组件中的数值的方法名称)那这个就是 const newRole= this.$refs['auth'].getMenus() 这样就可以获取到这个组件了,然后身上又getMenus方法,然后就会返回一个对象就存到这个newRole里面这个变量里卖弄去

然后我就可以在这个父组件中更新menus,name,和auth_name  受权人

到这里我想要更新的数据前台已经完全得到了,接下来就进行告诉后台更新数据库的接口就行了.

老套路,首先在后台写一个更新角色的接口,然后里面进行查询以前的角色,然后赋值新的,并且返回状态码,然后前台写一个api方法,再在Role.vue组件中调用这个方法如果成功就提示更新角色成功,然后在关闭窗口,在重新获取一下加载数据,回到页面...

到这就可以成功设置角色权限了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫LiLi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值