美文网首页
合并表格的多选

合并表格的多选

作者: 无题syl | 来源:发表于2020-12-30 14:20 被阅读0次

    描述

    1.以姓名为合并参考,所有合并的表格为1行
    2.选择某姓名对应的数据时,默认只选中姓名为首的第一行(因为合并单元格时,默认把其他行隐藏 return [0, 0])
    3.图中的全选不是表格自带的全选,要写方法进行操作(目前没试过表格自带的全选对于行列合并过的表格的情况)
    4.全选时,不能对整个表格执行this.$refs['eTable'].toggleRowSelection(),后面会导致勾选错乱,所以勾选全选时,操作勾选选中姓名为首的第一行
    6.得到以名字的第一行,后面操作把以此姓名其他数据一起计算得出

    合并表格多选.png

    全选

        //按员工全选
        selectEAll() {
          this.getIndexObj(this.dataByE)
          //this.isAll = true
          let ids = []
          for (let i = 0; i < this.dataByE.length; i++) {
            let r = this.dataByE[i]
            if (ids.indexOf(r.EmployeeID) == -1) {
              ids.push(r.EmployeeID)
              this.$refs['eTable'].toggleRowSelection(this.dataByE[i])
            }
          }
        },
    

    得到数据

     handleSelectionChange(val) {
       if (this.radio == 3) {
            this.num = val.length
            this.eIds = []
            let ids = val.map((r) => r.EmployeeID)
            this.dataByE.forEach((r) => {
              ids.forEach((rr) => {
                if (r.EmployeeID == rr) {
                  this.eIds.push({
                    projectID: r.ProjectID,
                    employeeID: r.EmployeeID,
                  })
                }
              })
            })
            // console.log(this.eIds)
            if (this.num != this.eAllNum) this.eAll = false
            if (this.num == this.eAllNum) this.eAll = true
          }
    }
    

    相关文章

      网友评论

          本文标题:合并表格的多选

          本文链接:https://www.haomeiwen.com/subject/rwlhoktx.html