zoukankan      html  css  js  c++  java
  • iview获取全选和半选数据(方法一:基于树型数据)

    在用iview的时候发现iview的树中获取半选和全选的函数getCheckedAndIndeterminateNodes在我使用的iview版本里面是没有提供的,

    于是自己写了一下获取全选和半选节点的数据

    这个是最最笨的方法

    this.halfCheckData = []
    checkData = this.$refs.menuTree.getCheckedNodes()
    this.getHalfCheckData(checkData)
    let allCheckData = Array.from(new Set(checkData.concat(this.halfCheckData)))
    console.error('allCheckData', allCheckData.map((item) => item.name))
    getHalfCheckData (checkData) {
      if (!checkData) {
        return
      }
      let halfData = []
       this.halfTag = false
      let checkfidData = checkData.map((item) => {
        return item.fid
      })
      checkfidData = Array.from(new Set(checkfidData))
      checkfidData.forEach((item) => {
        if (item) {
          this.halfCheckNode = {}
              this.findParent(item, this.menuTreeData)
              halfData.push(this.halfCheckNode)
        }
      })
      if (halfData && halfData.length > 0) {
        this.getHalfCheckData(halfData)
      }
    },
    findParent (id, tree) {
       if (this.halfTag) {
          return
       }
      for (let item of tree) {
        if (item.id === id) {
              this.halfCheckNode = item
              this.halfCheckData.push(item)
              return
        }
        if (item.children && item.children.length > 0) {
          this.findParent(id, item.children)
        }
      }
    }
  • 相关阅读:
    Homebrew 更改国内阿里源
    Java数组以及内存分配
    Django-Scrapy生成后端json接口
    MySQL必知必会(1-12章)
    招聘网站爬虫模板
    ubuntu之jupyter notebook配置
    服务器基本配置(ubuntu)
    Typora+PicGo+码云Gitee搭建本地博客环境
    redis缓存雪崩,穿透,击穿。整理篇
    鼠标修复升级记录(下)
  • 原文地址:https://www.cnblogs.com/ToBeBest/p/10154873.html
Copyright © 2011-2022 走看看