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ù)的 其他的大家可以去查一下,很簡(jiǎn)單。
// 當(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è)方法,它可以取到我們選擇的行的值,所以我們?cè)赿ata中定義一個(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue.js學(xué)習(xí)之UI組件開發(fā)教程
前端開發(fā)中,隨著業(yè)務(wù)的增多,出于效率的考慮,我們對(duì)于組件化開發(fā)的需求也越來越迫切。下面這篇文章主要給大家介紹了關(guān)于vue.js之UI組件開發(fā)的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友們下面來一起看看吧。2017-07-07
Vue多請(qǐng)求并行處理的實(shí)戰(zhàn)指南
在Vue中同時(shí)發(fā)送多個(gè)請(qǐng)求主要通過并行處理機(jī)制實(shí)現(xiàn),常用方法包括 Promise.all,axios.all和 async/await,下面小編就來和大家詳細(xì)介紹一下詳細(xì)操作吧2025-08-08
vue進(jìn)行post和get請(qǐng)求實(shí)例講解
這篇文章主要介紹了vue進(jìn)行post和get請(qǐng)求實(shí)例講解,違章圍繞post和get請(qǐng)求的相關(guān)資料展開詳細(xì)內(nèi)容,具有一的的參考價(jià)值,需要的小伙伴可以參考一下2022-03-03
vue-cli項(xiàng)目修改文件熱重載失效的解決方法
今天小編就為大家分享一篇vue-cli項(xiàng)目修改文件熱重載失效的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09
Elemenu中el-table中使用el-popover選中關(guān)閉無效解決辦法(最新推薦)
這篇文章主要介紹了Elemenu中el-table中使用el-popover選中關(guān)閉無效解決辦法(最新推薦),因?yàn)樵趀l-table-column里,因?yàn)槭嵌嘈?使用trigger="manual"?時(shí),用v-model="visible"來控制時(shí),控件找不到這個(gè)值,才換成trigger="click",需要的朋友可以參考下2024-03-03
vue中axios處理http發(fā)送請(qǐng)求的示例(Post和get)
本篇文章主要介紹了vue中axios處理http請(qǐng)求的示例(Post和get),這里整理了詳細(xì)的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10

