记一个Element-plus的ElMessageBox样式被遮挡问题

简介: 使用Element-plus开发时,发现ElMessageBox被El-Table遮挡

昨天在开发一个管理页面,功能有,编辑时只有一行可以编辑,删除时弹出警告窗口,确认后才执行删除。

代码为Element-plus中的示例。

但是ElmessageBox一直被<El-Table>遮挡,image.png猜测的可能原因为嵌套了两层<router-view>导致的<El-Table>的z-index太高,

<template><el-table:data="projectTableData"style="width: 100%"><el-table-columnprop="date"label="Date"><template#default="scope"><spanv-show="!scope.row.editing">{{ scope.row.date }}</span><el-inputv-show="scope.row.editing"v-model="scope.row.date"></el-input></template></el-table-column><el-table-columnprop="name"label="name"></el-table-column><el-table-columnprop="address"label="Address"/><el-table-columnlabel="Operate"><template#default="{ row, rowIndex }"><el-buttonv-if="row.editing"type="primary"link@click="handleSave(row)">保存</el-button><el-buttonv-elsetype="primary"link@click="handleEdit(row, rowIndex)">编辑</el-button><el-buttonv-if="row.editing"link@click="handleCancel(row)">取消</el-button><el-buttonv-elsetype="danger"link@click="handleDelete(row)">删除</el-button></template></el-table-column></el-table></template><scriptsetuplang="ts">import {
ElMessage,
ElMessageBox,
} from'element-plus';
import { ref } from'vue';
constprojectTableData=ref([
    {
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
editing: false, 
    },
    {
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
editing: false,
    },
    {
date: '2016-05-04',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
editing: false,
    },
    {
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
editing: false,
    },
]);
consthandleEdit= (row, rowIndex) => {
if (!row.editing) {
// 如果点击的行不是当前正在编辑的行projectTableData.value.forEach((item, index) => {
if (index!==rowIndex) {
item.editing=false; // 取消其他行的编辑状态            }
        });
row.editing=true;
    }
};
consthandleSave= (row) => {
row.editing=false;
// Handle Save logic};
consthandleDelete= (row) => {
console.log(row);
ElMessageBox.confirm(
'真的删除吗?删除之后数据无法找回',
        {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
appendTo:'body',
title:"警告",
        })
        .then(() => {
ElMessage({
type: 'success',
message: '删除成功'            })
        })
        .catch(() => {
ElMessage({
type: 'info',
message: 'Delete canceled',
            })
        })
// Handle Delete logic};
consthandleCancel= (row) => {
row.editing=false;
};
</script>

image.png

在开发者控制台元素中可以看到已经挂载到body了,最外层的div的z-index是2002,所以设置这个z-index更高就行了

.is-message-box{
position: relative;
z-index: 9000;
}

image.png

相关文章
|
7月前
|
编解码
element-ui 表格滚动条(不同分辨率)自适应问题;
element-ui 表格滚动条(不同分辨率)自适应问题;
298 1
|
7月前
|
前端开发
css实现伪类三角形气泡框 带边框
css实现伪类三角形气泡框 带边框
67 3
|
移动开发 前端开发 JavaScript
HTML - Canvas 使用画布旋转文本
HTML - Canvas 使用画布旋转文本
346 0
HTML - Canvas 使用画布旋转文本
|
4月前
|
JavaScript 开发者
Element UI & Element Plus之改变表格单元格颜色
这篇文章展示了如何在Element UI和Element Plus框架中使用`:cell-style`属性来根据条件改变表格单元格的颜色。
449 0
Element UI & Element Plus之改变表格单元格颜色
|
5月前
Element UI 表格【列宽自适应】
Element UI 表格【列宽自适应】
138 0
|
5月前
|
前端开发
如何在页面中画一个canvas,然后在居中位置写上蓝色‘Hello Canvas‘,并加上文字描边 * @type {HTMLElement}
如何在页面中画一个canvas,然后在居中位置写上蓝色‘Hello Canvas‘,并加上文字描边 * @type {HTMLElement}
|
7月前
|
前端开发
css去除滑动框
css去除滑动框
73 2
|
前端开发 容器
如何利用CSS实现三角形、扇形、聊天气泡框
如何利用CSS实现三角形、扇形、聊天气泡框
189 0
|
7月前
UITableView根据表格内容进行高度自适应与使用Masonry实现根据内容进行宽度自适应和高度自适应
UITableView根据表格内容进行高度自适应与使用Masonry实现根据内容进行宽度自适应和高度自适应
101 0
|
7月前
element-ui 表格和 tooltip修改背景颜色和箭头颜色
element-ui 表格和 tooltip修改背景颜色和箭头颜色
796 0