select和table联动

因为搞了好几天也没在网上找到答案。所以用了自己想的办法,后来感觉还是很笨的办法,不过总算解决了

screen(value4,value5,value6,currentPage) {
      this.axios
      .get(`/teacher/mapping/list`, {
        schoolId: this.value4 ,
        gradeId: this.value5 ,
        subjectId: this.value6 ,
        pageNum: this.currentPage,
        size: 10
      })
      .then(res => res.data)
      .then(data => {
        if(data.code == 200) {
          var arr = []//数组1
          var arr1 = []//数组2
          var arr2 = []//数组3
          //如果三个中任何一个被选择的话执行这个
          for(let i=0;i<this.list.length;i++){
            if(this.value5 == this.list[i].gradeId){
              arr.push(this.list[i])
            }
            if(this.value4 == this.list[i].schoolId){
              arr.push(this.list[i])
            }
            if(this.value6 == this.list[i].subjectId){
              arr.push(this.list[i])
            }
          }
          // 如果三个中有任意两个被选择的话执行arr1
          for(var j=0;j<this.list.length;j++){
            if(this.value5 == this.list[j].gradeId && this.value4 == this.list[j].schoolId){
              arr1.push(this.list[j])
            }
            if(this.value4 == this.list[j].schoolId  && this.value6 == this.list[j].subjectId){
              arr1.push(this.list[j])
            }
            if(this.value6 == this.list[j].subjectId && this.value5 == this.list[j].gradeId){
              arr1.push(this.list[j])
            }
          }
          // 如果三个都被选择的话执行arr2
          for(var k=0;k<this.list.length;k++){
            if(this.value5 == this.list[k].gradeId && this.value4 == this.list[k].schoolId && this.value6 == this.list[k].subjectId){
              arr2.push(this.list[k])
            }
          }

          //下面个判断出来的结果必须放在最后。不然会出错
          if(this.value4 != '' || this.value5 != '' || this.value6 != ''){
            this.list = arr
          }
          if(this.value5 != '' && this.value4 != '' || this.value4 != '' && this.value6 != '' || this.value6 != '' && this.value5 != ''){
            this.list = arr1
          }
          if(this.value6 != '' && this.value5 != '' && this.value4 != ''){
            this.list = arr2
          }
        }
      })
    },

当点击筛选按钮的时候改变下面的table表格的数据

以后如果有更好的办法会更新

猜你喜欢

转载自blog.csdn.net/qq_42809973/article/details/83656194