el-table表头刷新问题

最近有个需求,需要表头实时刷新,但是遇到的问题是,表头数据变了,但是表头它不会重新渲染啊。

么的搞,只能蠢方法了。

本来只加个v-if,但是这样会导致表头内容闪一下,太明显了,加个else吧,就不会闪了。。。

<div v-if="show">

         <p>{{item.value}}</p>

</div>

<div v-else>

        <p style="white-space:nowrap">{{item.value}}</p>

</div>

this.show = false

setTimeout(() => {

        this.show = true

}, 100);  

-table表头合并可以通过设置表头的属性来实现。具体步骤如下: 1. 在js文件中获取表头,并根据需要修改表头内容。 2. 设置需要合并的表头名称数组。 3. 在el-table标签中设置属性::header-cell-style="handerMethod"和:span-method="objectSpanMethod"。 4. 在methods中定义handerMethod和objectSpanMethod方法,用于设置表头样式和合并单元格。 5. 在handerMethod方法中设置表头样式,例如设置背景色等。 6. 在objectSpanMethod方法中设置需要合并的单元格,例如合并第一列和第二列的单元格。 下面是示例代码: ```javascript // 获取表头 getHeader(nv) { this.factoryCodes = nv; this.headerRow2 = []; if (nv == "zgjn-H WS 0101") { this.tableHeader = deviceRunReportHead[1]; this.headerRow2 = ["紫外线杀菌装置"]; } else if (nv == "zgjn-H WS 0106") { this.tableHeader = deviceRunReportHead[2]; this.headerRow2 = ["紫外线杀菌装置", "除臭系统"]; } else if (nv == "zgjn-H WS 0105") { this.tableHeader = deviceRunReportHead[3]; this.headerRow2 = ["紫外线杀菌装置", "除臭系统"]; } else { this.tableHeader = deviceRunReportHead[3]; } this.$nextTick(() => { // 刷新表格样式 this.$refs.slantTable.doLayout(); this.getTableDom(); }); this.keyIndex++; }, // 设置表头样式 handerMethod({ row, column, rowIndex, columnIndex }) { if (rowIndex === 0 || rowIndex === 1) { return { background: '#f2f2f2', color: '#333', fontWeight: 'bold' }; } }, // 设置合并单元格 objectSpanMethod({ row, column, rowIndex, columnIndex }) { if (columnIndex === 0 || columnIndex === 1) { if (rowIndex === 0 || rowIndex === 1) { return { rowspan: 2, colspan: 1 }; } else { return { rowspan: 0, colspan: 0 }; } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值