VUE + element后台一个权限列表联动勾选的问题

image.png
需求:点击用户管理的查看,就会联动全部勾选子菜单的所有产看,相反如果勾选子菜单的查看那么默认用户管理的查看将会被勾选.如果点击子菜单的充值按钮权限那么子菜单的查看与父级菜单的查看也应该勾选
数据:数据是维护一个双向绑定的数组全部都是用id来管理的单独拿出用户管理的数据,前面是下标,后面是对应的功能2代表用户管理2-1代表查看2-3-1代表个人用户的查看2-3-13代表个人用户下的充值!

  1. 12:"2-1"
  2. 13:"2-3-1"
  3. 14:"2-3-13"
  4. 15:"2-3-15"
  5. 16:"2-4-1"
  6. 17:"2-4-13"
  7. 18:"2-4-15"
  8. 19:"2-5-1"
  9. 20:"2-5-13"
  10. 21:"2-5-15"
  11. 22:"2-6-1"
  12. 23:"2-7-1"
  13. 24:"2-8-1"
  14. 25:"2-8-9"
  15. 26:"2-9-1"
  16. 27:"2-9-9"
  17. 28:"2-10-1"

image.png
监听了点击事件但是val都是ture 和 false对逻辑没有帮助只能拿到绑定的checkList来判断求大神给个思路或者直接上代码万分感谢

阅读 4.2k
4 个回答

@change = "aleration(item.index)"可以这样传值把

可以这样试试(试试会不会执行click事件):
在el-checkbox中添加一个@click="changeCheck(item)"

methods: {
    changeCheck(item) {
        // 保证click逻辑在change之后执行
        this.$nextTick(() => {
            // 当前item选中状态有变化
        });
    }
}

建议看看element的checkbox组件的源码,我也遇到过类似的业务场景,自己封装一个组件就可以了

点击用户管理的查看,就会联动全部勾选子菜单的所有产看,相反如果勾选子菜单的查看那么默认用户管理的查看将会被勾选.如果点击子菜单的充值按钮权限那么子菜单的查看与父级菜单的查看也应该勾选

你这个需求有问题吧。
点击用户管理查看, 就会选中子菜单所有查看,
点击子菜单的查看, 那么 用户管理的查看将会被勾选。

你可以这样写
v-for="(item,index) in XXXXX" @click="alteration($event,index)"
这样既能抓到是true 还是false 同时也能拿到下标

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题