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)
        }
      }
    }
  • 相关阅读:
    基于腾讯开源的msec来进行php开发模块
    《每周一点canvas动画》——圆周运动
    Socket.io+Notification实现浏览器消息推送
    10行 JavaScript 实现文本编辑器
    zzuli2228: 神奇的排名
    HDU2044:一只小蜜蜂...
    zzuli2226:神奇的薯条
    HDU2028:Lowest Common Multiple Plus
    HDU2036:改革春风吹满地
    HDU2029:Palindromes _easy version
  • 原文地址:https://www.cnblogs.com/ToBeBest/p/10154873.html
Copyright © 2011-2022 走看看