详解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从右边截取指定字符串的三种实现方法
Nov 29 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
Jan 10 Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
jQuery遍历Table应用示例
Apr 09 Javascript
jquery-syntax动态语法着色示例代码
May 14 Javascript
JavaScript使用focus()设置焦点失败的解决方法
Sep 03 Javascript
JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
Dec 20 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
Sep 14 Javascript
详解vue-router 路由元信息
Sep 13 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
Jul 28 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
Dec 10 Javascript
何时使用Map来代替普通的JS对象
Apr 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语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
php的debug相关函数用法示例
2016/07/11 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
JS 文件传参及处理技巧分析
2010/05/13 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
vue语法之拼接字符串的示例代码
2017/10/25 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
python的中异常处理机制
2018/08/30 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
自考生自我鉴定范文
2013/10/01 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
房屋转让协议书
2014/10/18 职场文书
党小组意见范文
2015/06/08 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python