Vue+ElementUI操作确认框及提示框的使用

在进行数据增删改查操作中为保证用户的使用体验,通常需要显示相关操作的确认信息以及操作结果的通知信息。文章以数据的下载和删除提示为例进行了简要实现,点击下载以及删除按钮,会出现对相关信息的提示,操作结果如下所示。

点击删除按钮,将会显示以下提示框。

点击取消按钮,提示已取消删除。

点击确定按钮,若删除成功则提示如下,删除失败则同理。

通过$this.confirm弹出操作提示界面,实现操作的确认。

通过$this.message弹出状态提示界面,提示操作是否成功。

界面代码如下所示:

html 复制代码
<el-table-column label="操作">
	<template slot-scope="scope">
		<el-button type="primary" round @click="downloadDataset">
			<i class="el-icon-edit"></i>下载
		</el-button>
		<el-button type="success" round>
			<i class="el-icon-edit"></i>编辑
		</el-button>
		<el-button type="danger" @click="deleteDatasetById(scope.row)" round>
			<i class="el-icon-document-delete"></i>删除
		</el-button>
	</template>
</el-table-column>

script代码如下所示:

javascript 复制代码
<script>
export default {
	//删除数据集
    deleteDatasetById(param) {
      let id = param.id //当前行对应数据的id
      this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        api.deleteDatasetById(id).then(res => {
          if (res.code === 20021) {
            this.$message({
              type: 'success',
              message: '删除成功!'
            });
            this.getDatasets()
          } else {
            this.$message({
              type: 'error',
              message: '删除失败,请重试!'
            });
          }
        })
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    },

    // 下载数据集
    downloadDataset() {
      this.$confirm('即将进行当前数据集的下载操作,是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'info'
      }).then(() => {
        this.$message({
          type: 'success',
          message: '下载成功!'
        })
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消下载'
        });
      })
    },
}
<script>
相关推荐
萧瑟余晖1 小时前
Java深入解析篇三十之Java日志框架
java·开发语言
无糖可可果1 小时前
从零读懂一个 Next.js 全栈笔记应用
前端
Maxkim1 小时前
DeepSeek Harness 源码深度分析:像 VS Code 一样插件化的 Agent 框架
前端·架构
喜欢睡觉2 小时前
从零看懂一个 Next.js 笔记应用
前端
cindershade2 小时前
从零实现画布「双击创建节点」:一个 VueFlow 项目的交互全记录
前端
YHL2 小时前
🚀 SSE 服务器发送事件与 BFF 层实战
前端·后端
今日无bug2 小时前
HTML5 Canvas:从画图到游戏开发
前端·canvas
cindershade2 小时前
用 Web Workers 优化前端重计算任务:避免主线程卡顿的实战方案
前端
爱丶不疚2 小时前
搞不清 CommonJS 与 ESM,你是否也有这些疑问🤔
前端·node.js
Suxing92 小时前
C语言基础分享:从“租房”到“拆迁”,C语言动态内存管理
java·数据结构·算法