详解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 相关文章推荐
一步一步教你写一个jQuery的插件教程(Plugin)
Sep 03 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
Apr 25 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
Dec 19 Javascript
JavaScript中数据结构与算法(二):队列
Jun 19 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
Dec 04 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
Jan 21 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
Jul 27 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
Nov 07 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
Sep 28 Javascript
使用 node.js 模仿 Apache 小部分功能
Jul 07 Javascript
微信小程序使用 vant Dialog组件的正确方式
Feb 21 Javascript
vue在图片上传的时候压缩图片
Nov 18 Vue.js
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
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
简单的php 验证图片生成函数
2009/05/21 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
jQuery的学习步骤
2011/02/23 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
详解js的作用域、预解析机制
2018/02/05 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
Python进行统计建模
2020/08/10 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
计算机应用与科学个人的自我评价
2013/11/15 职场文书
优秀的毕业生的自我评价
2013/12/12 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
警示教育观后感
2015/06/17 职场文书
欢送领导祝酒词
2015/08/12 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
python字典的元素访问实例详解
2021/07/21 Python