详解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的loading效果实现代码
Nov 05 Javascript
jquery中filter方法用法实例分析
Feb 06 Javascript
js操作数据库实现注册和登陆的简单实例
May 26 Javascript
Google 地图控件集详解及实例代码
Aug 06 Javascript
AngularJS HTML DOM详解及示例代码
Aug 17 Javascript
基于vuejs+webpack的日期选择插件
May 21 Javascript
javascript实现简易计算器
Feb 01 Javascript
Vue.js开发环境快速搭建教程
Mar 17 Javascript
Jquery实现获取子元素的方法分析
Aug 24 jQuery
layui将table转化表单显示的方法(即table.render转为表单展示)
Sep 24 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
Aug 03 Javascript
微信小程序实现下拉加载更多商品
Dec 29 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动态柱状图实现方法
2015/03/30 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
jQuery实现多按钮单击变色
2014/11/27 Javascript
vue中appear的用法
2017/08/17 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
pyhton列表转换为数组的实例
2018/04/04 Python
解决win64 Python下安装PIL出错问题(图解)
2018/09/03 Python
Python import与from import使用及区别介绍
2018/09/06 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
pywinauto自动化操作记事本
2019/08/26 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
Tensorflow累加的实现案例
2020/02/05 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
实习教师自我鉴定
2013/09/27 职场文书
毕业生自我鉴定范文
2013/11/08 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
保密工作整改报告
2014/11/06 职场文书
2014幼儿园教育教学工作总结
2014/12/17 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
zabbix监控mysql的实例方法
2021/06/02 MySQL