详解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 相关文章推荐
javascript事件模型代码
Jul 01 Javascript
JavaScript 快捷键设置实现代码
Mar 13 Javascript
js 实现日期灵活格式化的小例子
Jul 14 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
Sep 18 Javascript
jquery分页插件jquery.pagination.js使用方法解析
Apr 01 Javascript
node.js express安装及示例网站搭建方法(分享)
Aug 22 Javascript
bootstrap按钮插件(Button)使用方法解析
Jan 13 Javascript
微信小程序开发背景图显示功能
Aug 08 Javascript
JS实现判断有效的数独算法示例
Feb 25 Javascript
layui 解决富文本框form表单提交为空的问题
Oct 26 Javascript
vue组件内部引入外部js文件的方法
Jan 18 Javascript
javascript设计模式之迭代器模式
Jan 30 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设计模式 State (状态模式)
2011/06/26 PHP
需要注意的几个PHP漏洞小结
2012/02/05 PHP
ThinkPHP控制器间实现相互调用的方法
2014/10/31 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
laradock环境docker-compose操作详解
2019/07/29 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
JS 分号引起的一段调试问题
2009/06/18 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
详解Django框架中的视图级缓存
2015/07/23 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
在centos7中分布式部署pyspider
2017/05/03 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
pandas 选择某几列的方法
2018/07/03 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
初中同学聚会感言
2014/02/11 职场文书
企业指导教师评语
2014/04/28 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
工作后的感想
2015/08/07 职场文书