vue+element+Java實現批量刪除

表格的主要代碼段

  • 主要方法是: @selection-change="selsChange
<el-table ref="singleTable" v-loading="loading" :data="tableData" stripe  @selection-change="selsChange">
	 <el-table-column type="selection" width="55" ></el-table-column>  //複選框
	 <el-table-column label="#" type="index" width="60"></el-table-column>  //id
</el-table>

定義顯示值

 data(){
      return{
        sels: [],//選中的值顯示
      }
    }

選中時觸發

selsChange(sels) {
    this.sels = sels 
},

批量刪除按鈕 disabled設置是否可用

 <el-button @click="deleteAll(sels)" :disabled="this.sels.length === 0"> 批量刪除</el-button>

綁定事見

 deleteAll() {
        var ids= this.sels.map(item => item.id).join()//獲取所有選中行的id組成的字符串,以逗號分隔
        console.log(ids)
        this.$confirm('此操作將永久刪除該文件及其子文件, 是否繼續?', '提示', {
          confirmButtonText: '確定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {      
        	 axios.post("/****/****/deleteAll",{ids:ids}).then(resp=>{ 
        	 	// 傳遞到後臺處理的方刷新頁面,callback中使用你最初獲取頁面信息的方法就行,就會刷新頁面
        	 	if (resp.data.status == 200){
        	 	this.$alter(resp.data.message,'',{	
            			confirmButtonText: "確定",
            			callback:action=>{          
            				_this.searchClick(),
            			}
            		}
        	 	}
        	 } 
          })
        })
      }

後臺解析

@RequestMapper("deleteAll")
public void delete(@RequestBody Map<String,Objetc> params){
	// 獲取傳回來的id字符串
	String ids = params.get("ids").toString();
	// 通過逗號分割字符串,獲得所有的id,在mapper中通過mybatis提供的動態循環遍歷並刪除數組中對應id的值就行
	String[] id = ids.split(",");
	// 根據自己的後臺邏輯,調用service的方法,我就不寫了
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章