详解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 相关文章推荐
js中top/parent/frame概述及案例应用
Feb 06 Javascript
JS滚轮事件onmousewheel使用介绍
Nov 01 Javascript
基于jquery实现的文字淡入淡出效果
Nov 14 Javascript
jquery使用ajax实现微信自动回复插件
Apr 28 Javascript
JavaScript数组实现数据结构中的队列与堆栈
May 26 Javascript
js学习阶段总结(必看篇)
Jun 16 Javascript
JavaScript交换两个变量值的七种解决方案
Dec 01 Javascript
Vue.JS入门教程之事件监听
Dec 01 Javascript
前端 Vue.js 和 MVVM 详细介绍
Dec 29 Javascript
bootstrap 通过加减按钮实现输入框组功能
Nov 15 Javascript
vue1.0和vue2.0的watch监听事件写法详解
Sep 11 Javascript
vue之组件内监控$store中定义变量的变化详解
Nov 08 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
php email邮箱正则
2008/10/08 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
php实现倒计时效果
2015/12/19 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
python进程类subprocess的一些操作方法例子
2014/11/22 Python
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
python安装requests库的实例代码
2019/06/25 Python
Python实现微信小程序支付功能
2019/07/25 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
青年文明号创建承诺
2014/03/31 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
平安家庭事迹材料
2014/12/20 职场文书
给老婆道歉的话
2015/01/20 职场文书
捐资助学感谢信
2015/01/21 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技