详解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 相关文章推荐
select多选 multiple的使用示例
Jun 16 Javascript
基于javascript实现checkbox复选框实例代码
Jan 28 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
Oct 10 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
Dec 16 Javascript
codeMirror插件使用讲解
Jan 16 Javascript
JS实现的简单图片切换功能示例【测试可用】
Feb 14 Javascript
Bootstrap导航中表单简单实现代码
Mar 06 Javascript
移动端web滚动分页的实现方法
May 05 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
Jul 04 Javascript
Javascript中prototype与__proto__的关系详解
Mar 11 Javascript
详解如何从零开始搭建Express+Vue开发环境
Jul 17 Javascript
Paypal支付不完全指北
Jun 04 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和XSL stylesheets转换XML文档
2006/10/09 PHP
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
PHP中比较时间大小实例
2014/08/21 PHP
php检查是否是ajax请求的方法
2015/04/16 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
php对象工厂类完整示例
2018/08/09 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
广告切换效果(缓动切换)
2009/05/27 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
js中各浏览器中鼠标按键值的差异
2011/04/07 Javascript
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
手把手教你pycharm专业版安装破解教程(linux版)
2019/09/26 Python
Python socket模块方法实现详解
2019/11/05 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
寄语十八大感言
2014/02/07 职场文书
销售团队口号大全
2014/06/06 职场文书
父母教会我观后感
2015/06/17 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android