详解vue-element Tree树形控件填坑路


Posted in Javascript onMarch 26, 2019

通过tree树形控件的default-checked-keys属性来设置默认选中的节点

html.vue

<el-form-item label="角色权限:">
 <el-tree :data="data2" 
  show-checkbox 
  node-key="id" 
  @check="handleNodeClick" 
  :default-expanded-keys="[]" 
  ref="tree" 
  :default-checked-keys="default_select" 
  :props="defaultProps">
 </el-tree>
</el-form-item>

html.js

data() {
  return {
   data2: [],
   defaultProps: {
    children: 'child',
    label: 'name'
   },
   menu_ids: [],
   // 默认选中
   default_select: [],
   role_id: 0,
  }
 },
 methods: {
  /**
   * 获取详情
   */
  getDetail() {
   let that = this;
   that.$http.post(that.adminApi.api_url + "/Role/show_edit", {
    token: that.token,
    role_id: that.role_id
   }, {
    emulateJSON: true
   }).then(
    function (res) {
     var data = res.body;
     if (data) {
      that.ruleForm.name = data.name;
      that.ruleForm.sort = data.sort;
      that.ruleForm.status = data.status.toString();
      
      
      /**重点开始*/
      if(typeof (data.menu_id) == 'object'){
       //转数组
       data.menu_id = Object.keys(data.menu_id).map(key=> data.menu_id[key]);
      }
      //赋值
      data.menu_id.forEach((value)=>{
       that.default_select.push(value);
      });

      setTimeout(function () {
       that.default_select.forEach((value)=>{
        that.$refs.tree.setChecked(value,true,false)
       });
      },100);
      that.menu_ids = data.menu_id;
      /**重点结束*/
     }
    });
  },

  /**
   * 属性控件
   */
  handleNodeClick(e, data) {
   console.log(data);
   console.log(e);
   this.menu_ids = data.checkedKeys
  },
 }

总结,Tree树形控件通过后台接口获取到数组数据,还需要再次遍历,将它再遍历为数组,这样我们才可以调用,如果直接从后台获取到数组来调用的时候,我们是获取不到这个数组中的内容。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript基本对象
Jan 11 Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 Javascript
JQuery球队选择实例
May 18 Javascript
用JavaScript实现页面重定向功能的教程
Jun 04 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
Mar 18 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
canvas实现钟表效果
Feb 13 Javascript
JS实现简易刻度时钟示例代码
Mar 11 Javascript
JS获取填报扩展单元格控件的值的解决办法
Jul 14 Javascript
Electron vue的使用教程图文详解
Jul 05 Javascript
Node.js API详解之 V8模块用法实例分析
Jun 05 Javascript
在vue中使用防抖函数组件操作
Jul 26 Javascript
vue-router 起步步骤详解
Mar 26 #Javascript
JS div匀速移动动画与变速移动动画代码实例
Mar 26 #Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
Mar 26 #Javascript
详解用JS添加和删除class类名
Mar 25 #Javascript
详解javascript设计模式三:代理模式
Mar 25 #Javascript
js实现鼠标拖拽缩放div实例代码
Mar 25 #Javascript
Vue框架下引入ActiveX控件的问题解决
Mar 25 #Javascript
You might like
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
用php+ajax新建流程(请假、进货、出货等)
2017/06/11 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
Vue 自定义指令实现一键 Copy功能
2019/09/16 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
[04:53]DOTA2英雄基础教程 祈求者
2014/01/03 DOTA
python 多线程应用介绍
2012/12/19 Python
python实现输入数字的连续加减方法
2018/06/22 Python
Pytorch中.new()的作用详解
2020/02/18 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
2014庆六一活动方案
2014/03/02 职场文书
村干部培训方案
2014/05/02 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
求职简历自我评价2015
2015/03/10 职场文书
numpy数据类型dtype转换实现
2021/04/24 Python
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
Python基本数据类型之字符串str
2021/07/21 Python
canvas 中如何实现物体的框选
2022/08/05 Javascript