element-ui树形控件el-tree单选实现

1、界面元素

<el-tree :data="datass"
                         check-strictly
                         show-checkbox
                         default-expand-all
                         node-key="id"
                         ref="metaNodeTree"
                         highlight-current
                         :props="{children: 'child',label: 'name'}"
                         @check-change="handleMetaNodeClick">
</el-tree>

2、js实现

//被选择的节点Id
metaNodeCheckedId: []
handleMetaNodeClick(data, checked) {
              let res = this.$refs.metaNodeTree.getCheckedNodes();
              let currCheckedNode = [];//当前选中的节点
              let resultCheckedNode = [];//最终选中的节点
              res.forEach(item => {
                  currCheckedNode.push(item.id);
              });
              if (checked) {
                  //清除上次的选择,重新记录本次选中的节点
                  currCheckedNode.forEach(item => {
                      if (!arrayContains(this.metaNodeCheckedId, item)) {
                          resultCheckedNode.push(item);
                      }
                  });
                  this.$refs.metaNodeTree.setCheckedKeys(resultCheckedNode);
              } else {
                  this.metaNodeCheckedId = [];
              }
              this.metaNodeCheckedId = [...new Set(currCheckedNode.concat(resultCheckedNode))];
              //数组是否包含指定元素
              function arrayContains(array, id) {
                  for (let i = 0; i < array.length; i++) {
                      if (array[i] == id) return true;
                  }
                  return false;
              }
          },
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,342评论 0 3
  • 因为现在是大四实习生,前端小白一枚,入职公司要求做公司的某个项目后台管理系统所以开始学习Vue-element-a...
    璃小灯吖阅读 11,150评论 0 4
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,611评论 0 7
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,232评论 0 1
  • 环境对人的影响是潜移默化的,而且非常重要。现在对这句话的理解越来越深刻,也通过自己过去的一些经历来验证了这样的一句...
    蔬菜Cassie阅读 426评论 0 0