欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > ElMessageBox消息确认框组件在使用时如何设置第三个或多个自定义按钮

ElMessageBox消息确认框组件在使用时如何设置第三个或多个自定义按钮

2025/4/29 9:47:23 来源:https://blog.csdn.net/weixin_72439307/article/details/142105720  浏览:    关键词:ElMessageBox消息确认框组件在使用时如何设置第三个或多个自定义按钮

ElMessageBox自带两个按钮一个确认一个取消,当还想使用该组件还想再加个功能组件时,就需要自定义个按钮加到组件里
第二种方法可以通过编写自定义弹窗来完成,个人觉得代码量增多过于繁琐,当然也可以实现
 

先定义方法负责获取dom父节点,创建新的子元素加入进去,写业务逻辑并且关闭提示框

const appendChildToBtns = () => {// 获取div元素let btns: any = document.querySelector(".el-message-box__btns");// 创建一个新的btn元素let btn = document.createElement("button");// 为btn元素设置文本内容 添加饿了么组件按钮样式classbtn.className = "el-button el-button--default el-button--small";btn.textContent = "取消";// 将btn元素添加到btns中btns.appendChild(btn);// 点击按钮关闭提示框btn.onclick = () => {ElMessageBox.close();};
};

使用例子 绑定表格删除按钮事件

const click_Delete = (row: any) => {
//这里使用延迟,确保能获取到父元素domsetTimeout(() => {appendChildToBtns();}, 100);ElMessageBox.confirm("是否删除该资源组及其子节点?", "提示", {confirmButtonText: "删除子节点",cancelButtonText: "删除资源组",type: "warning",
//是否将取消(点击取消按钮)与关闭(点击关闭按钮或遮罩层、按下 Esc 键)进行区分distinguishCancelAndClose: true,}).then(() => {proxy.axios.delete(`/pcadmin/regulator-permission-manage/resource-groups/${row.id}?deleteChildren=true`).then(({ data }: { data: any }) => {if (data.errorcode == 0) {ElMessage.success("删除子节点成功!");get_TreeData_List();get_ResourceGroup_List();}}).catch((err: any) => {console.error(err);ElMessage.error(err);});}).catch((action: Action) => {
//根据按钮执行不同业务if (action === "cancel") {proxy.axios.delete(`/pcadmin/regulator-permission-manage/resource-groups/${row.id}?deleteChildren=false`).then(({ data }: { data: any }) => {if (data.errorcode == 0) {ElMessage.success("删除资源组成功!");get_TreeData_List();get_ResourceGroup_List();}}).catch((err: any) => {console.error(err);ElMessage.error(err);});}});};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词