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表格的数据

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值