详解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中阻止事件冒泡几种方式及其区别介绍
Jan 15 Javascript
日常收藏的jquery技巧
Dec 02 Javascript
JS 日期与时间戮相互转化的简单实例
Jun 22 Javascript
AngularJs基本特性解析(一)
Jul 21 Javascript
js仿淘宝商品放大预览功能
Mar 15 Javascript
详解layui弹窗父子窗口之间传参数的方法
Jan 16 Javascript
layui获取多选框中的值方法
Aug 15 Javascript
JavaScript原型链与继承操作实例总结
Aug 24 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
Jan 31 Javascript
layui select 禁止点击的实现方法
Sep 05 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 18 Javascript
vue+iview实现文件上传
Nov 17 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的十大要点(上)
2009/02/04 PHP
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
php 操作符与控制结构
2012/03/07 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
js实现简洁的TAB滑动门效果代码
2015/09/06 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
python实现矩阵乘法的方法
2015/06/28 Python
Python BS4库的安装与使用详解
2018/08/08 Python
python中的colorlog库使用详解
2019/07/05 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
绿色出行口号
2014/06/18 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
孔庙导游词
2015/02/04 职场文书
春节慰问信范文
2015/02/15 职场文书
三国演义读书笔记
2015/06/25 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers
PHP策略模式写法
2021/04/01 PHP
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android