element-ui组件,全选树节点,新增数据子节点数据,出现回填问题

案情分析:全选后父节点被选中保存,在这个树节点下新增数据时,就会出现,也被选中,事实上数据是没有被选中,也就意味着权限未被配置,而显示是已经配置了,显然这个是一个bug

1.处理前,直接用下面的方法很直接很粗暴的获取id,

var menuId=this.$refs.tree.getCheckedKeys();

(此时,也包括父节点id)

2.在用车管理下新增一个子菜单,我的申请用车,结果懵逼了,回填数据也被勾选了,经查找一番,发现是提交的时候全选的缘故,父级菜单id也被带入进来了,坑爹了吧,思路就是剔除权限时候的父级菜单的id,不然每次新增一个菜单都会不被接受的选中了

3.换一下写法,保存的时候剔除父级菜单id,现在显示正常了

    let menuId = [];
      let nodeData = this.$refs.tree.getCheckedNodes();
      nodeData.forEach(el => {
        if (el.children === null){
          menuId.push(el.id);
        }
      });

 

posted on 2019-03-08 11:52  Mike17  阅读(1418)  评论(0编辑  收藏  举报

导航

搜狗