当前位置:   article > 正文

vue+element 表格 删除 批量删除

vue+element 表格 删除 批量删除

效果图

以作物表为例

 这里有【批量删除】和【删除】

表单里的批量删除

  1. <el-form-item>
  2. <el-button @click="getDataList()">查询</el-button>
  3. <el-button
  4. v-if="isAuth('pesticide:crop:delete')"
  5. type="danger"
  6. @click="deleteHandle()"
  7. :disabled="dataListSelections.length <= 0"
  8. >批量删除</el-button
  9. >
  10. </el-form-item>

表格里的单项删除

  1. <el-table-column
  2. fixed="right"
  3. header-align="center"
  4. align="center"
  5. width="150"
  6. label="操作"
  7. >
  8. <template slot-scope="scope">
  9. <el-button
  10. v-if="isAuth('pesticide:crop:delete')"
  11. type="text"
  12. size="small"
  13. @click="deleteHandle(scope.row.id)"
  14. >删除</el-button
  15. >
  16. </template>
  17. </el-table-column>

二者对比

 

删除的方法

  1. // 删除
  2. deleteHandle (id) {
  3. let ids = id ? [id] : this.dataListSelections.map(item => {
  4. return item.id
  5. })
  6. this.$confirm('确定对所选项进行[删除]操作?', '提示', {
  7. confirmButtonText: '确定',
  8. cancelButtonText: '取消',
  9. type: 'warning'
  10. }).then(() => {
  11. this.$http({
  12. url: '/pesticide/crop/delete',
  13. method: 'post',
  14. data: ids
  15. }).then(({ data }) => {
  16. if (data && data.code === 0) {
  17. this.$message({
  18. message: '操作成功',
  19. type: 'success',
  20. duration: 1500
  21. })
  22. this.getDataList()
  23. }
  24. })
  25. }).catch(() => {
  26. })
  27. }

而在农药表中

  1. deleteHandle () {
  2. // if (rows) {
  3. // rows.forEach((row) => {
  4. // this.$refs.multipleTable.toggleRowSelection(row);
  5. // });
  6. // } else {
  7. // this.$refs.multipleTable.clearSelection();
  8. // }
  9. //首先获取到对象(要删除的对象)
  10. //在获取到整个table里面的数据
  11. //判断是否相等 是的话就删除
  12. let finalData = JSON.parse(JSON.stringify(this.dataForm.details));
  13. let delIds = [];
  14. this.dataListSelections.forEach((item) => {
  15. this.dataForm.details.forEach((tableDataItem, i) => {
  16. // console.log(item == tableDataItem);
  17. if (item == tableDataItem) {
  18. // delete finalData[i];
  19. delIds.push(i);
  20. }
  21. });
  22. });
  23. function sortNumber (a, b) {
  24. //升序
  25. return a - b;
  26. }
  27. delIds.sort(sortNumber);
  28. let delNum = 0;
  29. for (let i = 0; i < delIds.length; i++) {
  30. finalData.splice(delIds[i] - delNum, 1);
  31. delNum++;
  32. }
  33. // delIds.forEach((item) => {
  34. // i = i - 1;
  35. // });
  36. this.dataForm.details = finalData;
  37. },

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/100881
推荐阅读
相关标签
  

闽ICP备14008679号