elementui动态设置el-table表头 并记住选择

本文介绍了一个使用Element UI的表格组件实现动态列显示的示例,包括表格的多选功能、列的动态隐藏和显示,以及时间格式的特殊处理。通过监听`selection-change`事件处理选中项,并使用`localStorage`存储用户自定义的列设置。

HTML部分

el-table ref="table" :data="productList" style="width: 100%;" highlight-current-row
                @selection-change="handleSelectionChange">
            <el-table-column type="selection" fixed="left"></el-table-column>
            <el-table-column v-for="(item,index) in defaultColumns" :key="index"
                            show-overflow-tooltip
                            :prop="item.prop" :label="item.label" :width="item.width"
                            :min-width="item.minWidth? item.minWidth : '120'"
                            v-if="item.isChecked===true">
                <!---如果没有需要特殊处理的字段 就不必添加scope--->
                <template slot-scope="scope">
                    <div v-if="item.type === 'text'">
                    <!---显示对应的字段值--->
                        {
  
  { scope.row[item.prop]}}
                    </div>
                    <div v-if="item.type === 'date'">
                    <!---需要特殊处理的字段--->
                        {
  
  { scope.row.createTime}}
                    </div>
                </template>
            </el-table-column>
            <el-table-column label="操作" fixed="right" width="220">
                <template slot-scope="scope">
   
### 如何在 ElementUI `el-table` 中去掉表头分割线样式 为了去除 `el-table` 组件中的表头分割线,可以通过自定义 CSS 来覆盖默认样式。具体方法如下: #### 方法一:全局修改 如果希望在整个项目中统一去除所有表格表头分割线,可以在项目的公共样式文件(如 `style.css` 或 `app.scss`)中加入以下代码[^1]。 ```css .el-table th.is-leaf { border-bottom: none; } ``` 此段代码通过选择器 `.el-table th.is-leaf` 定位到所有的表头单元格,移除了其底部边框属性,从而实现了隐藏表头下划线的效果。 #### 方法二:局部作用域内修改 当只需要针对特定页面或组件内的某个表格实例应用该效果时,则可以采用更精确的选择器来限定范围。假设目标表格有一个类名为`.custom-table`,那么对应的CSS应该这样写: ```css .custom-table >>> .el-table th.is-leaf{ border-bottom:none !important; } ``` 这里使用了深嵌套操作符(`>>>`)以确保样式能够穿透 Vue 的 scoped 样式机制生效于子元素上;同时加上 `!important` 关键字是为了提高优先级,防止被其他样式覆盖。 另外需要注意的是,在某些情况下可能还需要调整相邻列之间的垂直分隔线,此时可进一步补充如下规则: ```css .custom-table >>> .el-table td, .custom-table >>> .el-table th { border-right: none!important; } ``` 以上方式不仅去掉了水平方向上的表头底部分割线,同时也消除了竖直方向上的间隔线条,使得整个头部区域看起来更加简洁明了[^2]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值