详解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 相关文章推荐
解决jquery1.9不支持browser对象的问题
Nov 13 Javascript
基于javascript实现单选及多选的向右和向左移动实例
Jul 25 Javascript
JavaScript队列、优先队列与循环队列
Nov 14 Javascript
详解Node.js:events事件模块
Nov 24 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
Angular2利用组件与指令实现图片轮播组件
Mar 27 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
May 17 Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 jQuery
详解关于React-Router4.0跳转不置顶解决方案
May 10 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
Mar 08 Javascript
详解nginx配置vue h5 history去除#号
Nov 09 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通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
PHP中localeconv()函数的用法
2019/03/26 PHP
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
js阻止冒泡和默认事件(默认行为)详解
2016/10/20 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
JS回调函数深入理解
2019/10/16 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
Python中文竖排显示的方法
2015/07/28 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
python中pika模块问题的深入探究
2018/10/13 Python
分析经典Python开发工程师面试题
2019/04/08 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
Python while true实现爬虫定时任务
2020/06/08 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
个人评语大全
2014/05/04 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python
Python如何将list中的string转换为int
2022/07/15 Ruby
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技