解决el-popover嵌入表格多列显示和被表格遮挡的问题

本文介绍如何在使用Element UI的el-popover组件时,解决其在表格多列显示及被遮挡的难题。内容涉及如何控制多个弹框的显示隐藏,以及通过调整样式来纠正偏移问题。在实际项目中,尤其是在组件抽离后遇到了一些意料之外的挑战,需要深入理解渲染层级和逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!-- 需要加上fixed="right"解决小弹窗显示问题 -->
<el-table-column label="可编辑" width="120" align="center" fixed="right">
    <template slot-scope="scope">
		<span>{{ scope.row.balance }}元</span>
        <el-button
		    slot="reference"
		    size="mini"
			type="text"
			class="el-icon-edit"
			style="font-size: 15px; margin-left: 10px"
			@click="handleBalance(scope.row)"
		/>
        <!-- position: fixed;z-index: 99;解决被span嵌套导致被table遮挡问题 -->
        <el-popover :ref="`popover-${scope.row.id}`" style="position: fixed;z-index: 99;" popper-class="table-list-popper" placement="left" width="200">
			<el-form @submit.native.prevent> <!-- 解决input输入回车刷新问题 -->
			</el-form>
		</el-popover>
    </template>
</el-table-column>
// 开关
balancePopoverVisible(id, flag = false) {
	flag && this.$refs["popover-" + id].doShow();
	!flag && (this.$refs["popover-" + id].doClose());
},

这里实现的是列表之中使用el-popover实现小弹框编辑,然后需要解决控制多个el-popover显示隐藏和被遮挡问题,最后通过样式解决偏移问题

<style>
.table-list-popper {
	top: -170px;
	left: -130px;
}
</style>

实际上我项目中两个地方用到这个,但是另一个实现发现没有这些问题。。。,而这个是优化过来的,发现抽离组件后就GG了,具体问题?是渲染呢,还是嵌套呢?还是要理解根本的层级关系和渲染逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值