vue 中el-tree用法: 设置数据与获取数据回显数据

<template>

<el-tree

ref="tree"

:data="getUserMenuData"

show-checkbox

node-key="id"

:default-expanded-keys="[2, 3]"

:default-checked-keys="[5]"

@node-click="handleNodeClick"

:props="defaultProps">

</el-tree>

</template>
mport {addSysUser,getUserMenu,getDetail} from "@/api/EmployeeAccountManagement";
export default {
  name: "newlyAddedAccountBox",
  components:{
  },
  data() {
    return {
        getUserMenuData: [],
        defaultProps: {
          children: 'children',
          label: 'name'
        },
        /* 列表查询条件 */
        dataForm: {
          id:0,
          realName:'',
          userName:'',
          status:'0',
          phone:'',
          password:'',
          menuIds:[]
        },
    }
  },
  created() {
  },
  mounted() {
    let defalutArr = [1,2,3];
    this.$refs.tree.setCheckedKeys(defalutArr);
    let userid = JSON.parse(localStorage.getItem("userInfo")).id;
    this.getUserMenu(userid);
    let uId = this.$route.query.id;
    if(uId){
      this.getDetail(uId); 
    }
  },
  computed: {
  },
  methods: {
    getUserMenu(id){
        //设置列表
      getUserMenu({userId:id}).then((res)=>{
        if(res.status == 200){
          this.getUserMenuData = res.data;
        }
      })
    },
    getDetail(id){
        //反显数据
      getDetail({id:id}).then((res)=>{
        if(res.status == 200){
            let arr = [];
            res.data.menus.forEach(value => {
                if(value.checked){
                    if(value.children){
                       arr = arr.concat(value.children.filter(item => item.checked));
                    }
                    if(!value.children){
                       arr.push(value);
                    }
                }
            });
            this.$refs.tree.setCheckedNodes(arr);
        }
      })
    },
    saveData(){
        //选择保存
      let res = this.$refs.tree.getCheckedKeys().concat(this.$refs.tree.getHalfCheckedKeys());

      this.dataForm.menuIds = res;

      addSysUser(this.dataForm).then((res)=>{
        if(res.status == 200){
          console.log(res,'新增用户');
          this.goBack();
          this.$message.success("保存成功!");
          this.init();
        }
      })
    },
  }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

we_前端全家桶

同行的老铁支援点银两哇,????

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

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

打赏作者

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

抵扣说明:

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

余额充值