You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter PaginatedDataTable2:隐藏空行仍占空间如何解决?

解决PaginatedDataTable2空行占位问题

设置renderEmptyRowsInTheEnd: false后仍存在空行占位,是因为组件默认会预留分页固定行数的空间,可通过以下两种方式消除:

  • 自定义高度控制
    关闭组件默认的卡片包裹(wrapInCard: false),在外层用Container手动计算并设置表格高度,高度按实际数据行数+表头行的高度计算(默认行高为56):

    Container(
      // 56为默认行高,_source.rowCount是当前页实际数据行数
      height: (_source.rowCount * 56) + 56,
      child: PaginatedDataTable2(
        renderEmptyRowsInTheEnd: false,
        wrapInCard: false,
        columns: _columns,
        source: _source,
        minWidth: MediaQuery.of(context).size.width,
      ),
    )
    
  • 动态设置固定每页行数
    使用fixedRowsPerPage属性,将其值设为当前页面的实际数据行数,每次分页切换时更新该值即可:

    PaginatedDataTable2(
      renderEmptyRowsInTheEnd: false,
      fixedRowsPerPage: _currentPageData.length,
      columns: _columns,
      source: _source,
    )
    

    其中_currentPageData是当前分页加载的实际数据列表,需确保其长度准确反映当前页的有效数据行数。

内容的提问来源于stack exchange,提问作者eastwater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:56:05