博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关于el-table中header自定义表头中,数据不更新问题

Posted on 2025-11-13 17:06  Hhuizi  阅读(12)  评论(0)    收藏  举报

原因:通过旧式插槽语法 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的地方对表格做强制刷新,然而并没有什么卵用。