Element-ui 之 解决可编辑表格点击行操作或者选择日期选择器(统归为可编辑单元格)仍触发行点击事件的问题

解决可编辑表格点击行操作或者选择日期选择器(统归为可编辑单元格)仍触发行点击事件的问题

在这里插入图片描述
  如图所示,在我们点击日期选择器和操作查看时都分别触发了行点击事件,而有的时候我们通常并不希望点击操作或者日期选择器(可以统归为可编辑单元格)触发行点击事件,那么如何解决呢?
利用 Vue 的事件修饰符点击此处查看

  • 针对点击类事件,比如行操作中绑定的 click 事件,最直接的解决方案就是使用 Vue 的事件修饰符:.stop(阻止单击事件继续传播),当然建议加上 .native 修饰符点击此处查看,当然你也可以不加,不加也能实现效果;
<el-button @click.native.stop="handleClick(scope.row)" type="text" size="small">查看</el-button>
  • 针对可编辑单元格的事件(例如change事件或者blur事件等),我们可以直接给该组件增加一个父元素,然后在父元素上加上@click.stop.prevent;
<el-table-column
      prop="date"
      label="日期"
      width="120">
      <template slot-scope="scope">
        <div @click.stop.prevent>
          <el-date-picker
            v-model="scope.row.date"
            type="date"
            placeholder="选择日期"
            value-format="yyyy-MM-dd">
          </el-date-picker>
        </div>
  </template>
</el-table-column>


 加上之后完美解决!

 如图所示:
在这里插入图片描述



如有不足,望大家多多指点! 谢谢!

### 修改Element UI表格的颜色 为了实现对Element UI表格颜色样式的自定义,可以采用多种方法来调整不同部分的视觉效果。 #### 使用`/deep/`和`!important` 当需要覆盖默认样式时,在CSS中加入`/deep/`伪类以及`!important`声明能够确保新设定的颜色属性得以应用。例如更改表头背景色为#FFDAB9,并使每一单元格具有不同的背景色如#FFEFD5,同时指定悬停状态下的特殊显示颜色#FFFFF0[^2]: ```css <style scoped> /deep/.el-table thead tr>th { background-color: #FFDAB9; } /deep/.el-table tbody tr>td { background-color: #FFEFD5; } /deep/.el-table tbody tr:hover>td { background-color: #FFFFF0 !important; } </style> ``` #### 定义全局变量或局部类名 通过创建特定的选择器(如`.table-text-blue`, `.table-text-gray`),可以在不影响其他组件的前提下精确控制文字颜色和其他细节。对于更广泛的定制需求,则可以通过重写现有类的方式改变整个表格外观,比如移除边框并调整字体颜色等[^3]: ```scss .table-text-blue { color: blue; } .el-table th.is-leaf { background: #F9F9F9; border-bottom: none; } .el-table--border th { border-color: white; font-weight: normal; } // 更多样式省略... ``` #### 利用内联样式与属性绑定 如果仅需针对某些特殊情况做简单处理,可以直接利用HTML标签内的`:header-cell-style`属性快速设置单个元素风格,像这样给定一个粉色作为表头背景[^4]: ```html <el-table :data="tableData" stripe :header-cell-style="{background:'pink'}"> <!-- 表格内容 --> </el-table> ``` #### 移除边界线及增强表头分隔 为了让表格看起来更加简洁或是模仿纸质文档的效果,可以选择隐藏不必要的线条并将注意力集中在重要区域上。这通常涉及到去除所有内部边框的同时强化外部轮廓,特别是底部边缘[^5]: ```css .customer-no-border-table .el-table__body-wrapper, .customer-no-border-table .el-table__footer-wrapper, .customer-no-border-table .el-table__header-wrapper { border-collapse: collapse; } .customer-no-border-table td, .customer-no-border-table th { padding: 8px; text-align: center; vertical-align: middle; border: none; } .customer-no-border-table th { border-bottom: 2px solid black; } ``` 以上几种方式可以根据实际项目的需求灵活组合运用,从而达到理想的视觉呈现效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庄山聆壑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值