vue el-table 分页记忆js代码

最下面有一种最快的解决办法!!!

初始化定义几个变量

pageNowone:1,
pageTotalone:0,
pageNowtwo:1

在table上定义一个@selection-change="selectone"

methods:{

selectone(selection){
      this.selectObjone=selection;
    },

}

在el-pagination上定义一个@current-change="pageJumpone"

pageJumpone: function(a){
      this.tableone=this.selectObjone;
      this.selectObjone.forEach((val)=>{
        this.selectEndone.push(val);
      });
      
      //数组对象去重
      let arr=[];
      for(let i=0;i       let flag = true;
      for(let j=0;j         if(this.selectEndone[i].taskId == arr[j].taskId){
         flag = false;
        };
      };
      if(flag){
       arr.push(this.selectEndone[i]);
      };
      };
      this.selectEndone=arr;
        
        console.log(this.tableDataone);
        console.log(this.selectEndone);
        console.log(this.tableone);
        //console.log(this.selectEnd);
        var des=[];
        for(var i=0;i             for(var j=0;j                 if(this.tableDataone[i].taskId==this.selectEndone[j].taskId){
                    des.push(this.selectEndone[j]);
                }
            }
        }
        console.log(des);
        //console.log(this.$options.methods.deepCopy());
        //深拷贝
        var lan = JSON.parse(JSON.stringify(des));
        var wish=[];
        for(var j=0;j             if(JSON.stringify(this.tableone).indexOf(JSON.stringify(lan[j]))==-1){
                //console.log(lan[j]);
                wish.push(lan[j]);
            }
        }
        console.log(wish);
        
        for(var i=0;i             for(var j=0;j                 if(this.selectEndone[i]!=undefined){
                    if(this.selectEndone[i].taskId==wish[j].taskId){
                        var index = this.selectEndone.indexOf(this.selectEndone[i]);
                        this.selectEndone.splice(index, 1);
                    }
                }
            }
        }
        
        
      this.pageNowone=a;
      var that=this;
      this.$http.post(that.dataUrl+'/attendant/tasks', {
      "pageNum":a,
      }).then(function(res) {
        //that.dataHandle(res.data.data.data);
        if(res.data.data.data==null){
            that.tableDataone=[];
        }else{
            that.tableDataone=res.data.data.data;
        }
      }).catch(function(err) {
        if (err.response) {
          console.log(err.response);
        }
      })
      //记忆已选择状态
      setTimeout(()=>{
        
        if(this.selectEndone.length!=0){
          for(let i=0;i             for(let j=0;j               if(this.tableDataone[i].taskId==this.selectEndone[j].taskId){
                this.$refs.tableone.toggleRowSelection(this.tableDataone[i]);
              }
            }
          }
        }
      },300);
      
    }

 

这个办法就是elementui自带的,嘤嘤嘤,用这个吧

最快速解决办法:设置reserve-selection="true"   (需指定 row-key) 在el-table中加上row-key="..."下面porps里面的主键如id  

(神不神奇!<[--]>!)

你可能感兴趣的:(web大前端)