实现 element-ui popconfirm

妖狐艹你老母 2024-04-17 05:35 118阅读 0赞

实现原因

在中后台的业务开发中,Popconfirm(确认操作弹出框)是一个常见的需求,但 element-ui 仅提供 popover,不支持如 ant design 的 popconfirm,直接使用 popover 做确认框代码复杂的同时还带来一些意料之外的问题,因此选择封装一个简单易用但又支持灵活配置的 Popconfirm组件供业务使用,提高开发效率。

解决的问题

  1. 使用麻烦,需要写较多控制显示隐藏的代码,在列表中使用时甚至还需要给行数据额外增加 xxxVisible 属性。


    1. <i class="el-icon-error"></i>
    2. <p>你确定要删除选中的字段吗?</p>


    1. <el-button size="mini" type="text" @click="deleteVisible = false">取消</el-button>
    2. <el-button size="mini" type="primary" @click="deleteFields">确定</el-button>


    删除

  2. 在 el-table 中属性设置来 fixed 的 el-table-column 内使用时,会出现两个 popover,详情见 issues

效果展示

在这里插入图片描述
在这里插入图片描述

使用示例

  1. <!-- 简单使用 -->
  2. <Popconfirm @confirm="handleConfirm">
  3. <el-button>复制</el-button>
  4. </Popconfirm>
  5. <!-- 多配置 -->
  6. <Popconfirm
  7. placement="top"
  8. width="220"
  9. type="danger"
  10. okType="danger"
  11. okText="删除"
  12. title="将会删除该条目下所有数据,确定要删除吗?"
  13. icon="el-icon-error"
  14. :check="checkDelete"
  15. @confirm="handleConfirm"
  16. @cancel="handleCancel"
  17. >
  18. <el-button
  19. icon="el-icon-delete"
  20. type="danger"
  21. size="mini"
  22. >删除</el-button>
  23. </Popconfirm>

Attributes(属性)

结合了element popover与antd popconfirm,支持 element-ui 的 popover 的所有属性,此外:



















































































参数 说明 类型 可选值 默认值
visible popconfirm是否显示 Boolean true/false false
title 提示的文本内容 String - 你确定要执行此操作吗?
color 提示内容文本的颜色 String - -
okType 确认按钮的类型(与element-ui按钮一致) String primary / success / warning / danger / info / text primary
okText 确认按钮的文本 String - 确认
cancelType 取消按钮的类型 String primary / success / warning / danger / info / text -
cancelText 取消按钮的文本 String - 确认
icon 提示的图标的类名(与element-ui icon 一致) String - el-icon-info
iconColor 提示的图标的颜色 String - -
check 提示框显示前的校验,校验失败不显示,可以抛错误中断,也可以返回Boolean(false以外的都认为校验通过) Function - () => true

Slot(插槽)






























参数 说明
触发 Popconfirm 显示的元素
icon Popconfirm 提示内容的图标
title Popconfirm 提示的内容
ok Popconfirm 点击确认区的内容
cancel Popconfirm 点击取消区的内容

代码地址

Github: element-ui popconfirm ,期待您的 star 与 issue

发表评论

表情:
评论列表 (有 0 条评论,118人围观)

还没有评论,来说两句吧...

相关阅读

    相关 elementUI实现分页

    分页的两种方式。前端分页,后端分页。两种方式各有个的优缺点吧。 前端分页:后台只需将数据返回,不需要做过多处理,前端一次请求拿到所有数据后做分页处理。但数据量不能太大,

    相关 elementUI实现分页

    分页的两种方式。前端分页,后端分页 前端分页:后台只需将数据返回,不需要做过多处理,前端一次请求拿到所有数据后做分页处理。但数据量不能太大,因为前端是先一次性加载所有数