VUE前端刪除和批量刪除實(shí)現(xiàn)代碼
前言
下面給大家介紹一下前端的刪除方法,在開發(fā)中 我們常常會(huì)碰到這種業(yè)務(wù),有一些數(shù)據(jù)需要在前端進(jìn)行刪除,我們并不希望他走后端的接口,而是在點(diǎn)擊提交或者其他的業(yè)務(wù)完成后才走接口,這時(shí)我們就用到了vue的前端刪除方法。
首先給大家介紹一下刪除一條數(shù)據(jù)的情況:
在element ui的el-table 我們需要先寫出刪除按鈕
<el-table ref="departmentTable" :data="tableDepartmentList.data" style="width: 100%" @selection-change="handleSelectionChangeDepartment" > <el-table-column label="操作" width="70"> <template slot-scope="scope"> <span style="cursor: pointer" @click="deleteDepartmentRow(scope.$index)"> <i class="el-icon-delete"></i> </span> </template> </el-table-column> </el-table> <!-- scope.$index 就是你刪除的數(shù)據(jù)在第幾行,第一行就返回1,以此類推。把這個(gè)參數(shù)傳入用于刪除 -->
接下來就可以在methods 中定義出這個(gè)方法了
methods: { deleteDepartmentRow(index) { this.$confirm("此操作將刪除信息, 是否繼續(xù)?", "提示", { confirmButtonText: "確定", cancelButtonText: "取消", type: "warning" }) .then(() => { this.tableDepartmentList.data.splice(index, 1); this.$message({ type: "success", message: "刪除成功!" }); }) .catch(() => { this.$message({ type: "info", message: "已取消刪除" }); }); } // 第九行代碼就是執(zhí)行的刪除方法,this.tableDepartmentList.data,是el-table綁定的數(shù)據(jù),不多解釋。splice()方法中可以傳入1-3個(gè) // 參數(shù),這里只介紹倆參數(shù)的 其他的大家可以去查一下,很簡單。 // 當(dāng)splice(index, 1)中傳入兩個(gè)參數(shù)的意思就是: index就是剛剛我們傳入的行數(shù),就是刪除剛剛我們選中那行的數(shù)據(jù). 1代表刪除一條
批量刪除:
批量刪除我們需要配合el-table中的 selection來使用,也就是下面的第七行
<el-table ref="departmentTable" :data="tableDepartmentList.data." style="width: 100%" @selection-change="handleSelectionChangeDepartment" > <el-table-column type="selection" width="55"></el-table-column> <el-table-column label="操作" width="70"> <template slot-scope="scope"> <span style="cursor: pointer" @click="deleteDepartmentRow(scope.$index, scope.row)"> <i class="el-icon-delete"></i> </span> </template> </el-table-column> </el-table> <el-button @click="deleteSelected()">批量刪除</el-button>
首先需要注意的是 @selection-change=“handleSelectionChangeDepartment”
@selection-change 是組件當(dāng)中自帶的一個(gè)方法,它可以取到我們選擇的行的值,所以我們在data中定義一個(gè)數(shù)組,用于保存這些值,官方組件中有解釋,大家可以去看看
data() { return { multipleSelectionDepartment: [], } }, methods: { // 用于保存選中的行 handleSelectionChangeDepartment(val) { this.multipleSelectionDepartment = val; }, deleteSelected(){ this.$confirm('此操作將批量刪除部門, 是否繼續(xù)?', '提示', { confirmButtonText: '確定', cancelButtonText: '取消', type: 'warning' }).then(() => { let val = this.multipleSelectionDepartment //選中的值 if (val) { val.forEach((val, index) => { // 這塊看不明白的話看下面的解釋 this.tableDepartmentList.data.forEach((v, i) => { if (val.deptName === v.deptName) { this.tableDepartmentList.data.splice(i, 1) } }) }) } this.$message.success("刪除成功") }) }, } // 第一層循環(huán)就是循環(huán)我們選中的值,第二層循環(huán)就是循環(huán)我們this.tableDepartmentList.data 中所有的值,然后去判斷, // 如果有一樣的數(shù)據(jù)的話就進(jìn)行刪除
總結(jié)
到此這篇關(guān)于VUE前端刪除和批量刪除的文章就介紹到這了,更多相關(guān)VUE批量刪除內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vscode中eslint插件的配置(prettier配置無效)
這篇文章主要介紹了vscode中eslint插件的配置(prettier配置無效),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09vue3+ts實(shí)現(xiàn)一個(gè)表單組件的詳細(xì)代碼
這篇文章主要介紹了vue3+ts實(shí)現(xiàn)一個(gè)表單組件的詳細(xì)代碼,確保通過axios調(diào)用后端接口來獲取省市區(qū)和街道數(shù)據(jù),并在選擇省市區(qū)時(shí)加載相應(yīng)的街道數(shù)據(jù),需要的朋友可以參考下2024-07-07vue 綁定使用 touchstart touchmove touchend解析
這篇文章主要介紹了vue 綁定使用 touchstart touchmove touchend解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03echarts設(shè)置tootip輪播切換展示(vue3搭配vue-echarts粘貼即用)
這篇文章主要為大家介紹了echarts設(shè)置tootip輪播切換展示效果,vue3搭配vue-echarts粘貼即用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2023-10-10vue+vuex+json-seiver實(shí)現(xiàn)數(shù)據(jù)展示+分頁功能
這篇文章主要介紹了vue+vuex+json-seiver實(shí)現(xiàn)數(shù)據(jù)展示+分頁功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04vue實(shí)現(xiàn)一拉到底的滑動(dòng)驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了vue簡單的一拉到底的滑動(dòng)驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07Vue二次封裝el-select實(shí)現(xiàn)下拉滾動(dòng)加載效果(el-select無限滾動(dòng))
el-select默認(rèn)是不支持虛擬滾動(dòng)的,需要使用第三方插件來實(shí)現(xiàn)虛擬滾動(dòng)功能,下面這篇文章主要給大家介紹了關(guān)于Vue二次封裝el-select實(shí)現(xiàn)下拉滾動(dòng)加載效果的相關(guān)資料,需要的朋友可以參考下2024-04-04