element Tree 树形控件全选半选的都获取到


我的页面如下图(菜单权限的编辑):

我最开始的思路是在初始化的时候给控件的属性 default-checked-keys 一个默认选中的key数组(比如 defaultKeys 变量,且是双向绑定),同时绑定 check 事件,在选中的时候获取到key然后赋值给 defaultKeys。

但遇到了以下问题

1. 当如上图 最新安全消息 按钮的key放到 defaultKeys 中,无论子元素是否在改变量中这一块都会全部选中

解决办法:避免母tab放在 defaultKeys 中,可以在赋值给 defaultKeys 前先清除母tab的key值

2. 因为 defaultKeys 是双向绑定的,且每次在选中的时候获取到key然后赋值给 defaultKeys,按理来说保存的时候拿 defaultKeys 即可,但是后端php在其他地方拿这个菜单列表的规则是:如果没有母菜单,子菜单是不会显示出来的,所以这最终导致拿到的数据不完整。

解决:在保存的时候用以下代码即可(注意在用$refs需要给控件一个ref值,如我的是ref="ww"):

// 勾选的key
var checkedKeys = this.$refs.ww.getCheckedKeys()
// 暂选状态的母tab的key
var halfKeys = this.$refs.ww.getHalfCheckedKeys())
// 合并两个数组
save = checkedKeys.concat(halfKeys)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM