原因:通过旧式插槽语法 slot="header" 实现自定义表头可能出现选中状态无法展示或数据更新失效的问题。
更改:将 slot="header"改为 #header
<el-table-column prop="timeLabel" label="时间" :width="groupDimensions && groupDimensions.length > 0 ? 180 : 150" fixed="left" align="center" header-align="center" > <template #header> <div class="table-header-content"> <span>时间</span> <el-button size="small" :icon="allExpanded ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" class="expand-toggle-btn" @mousedown.stop @click.stop="toggleAllRows" > {{ allExpanded ? '全部折叠' : '全部展开' }} </el-button> </div> </template> </el-table-column>
无聊的废话:刚开始怀疑数据(allExpanded)没有修改成功,然后对allExpanded做了监听,发现确实变成true了,然后把allExpanded渲染到了表格的header插槽里,发现渲染的是false,感觉遇到的灵异事件,就用了一下伟大的AI,cursor ctrl+l 功能,结果AI只是在我所有改变allExpanded的地方对表格做强制刷新,然而并没有什么卵用。
浙公网安备 33010602011771号