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

如何在ExpansionTile中展示ListView.builder子项,无报错却不显示内容怎么办

问题排查及修复步骤

    1. 修复ListView.builder高度约束冲突
      ExpansionTile的子节点处于无高度上限的布局环境,可滚动组件ListView.builder默认会尝试占满无限高度,导致无法渲染。你需要给ListView.builder添加两个参数:
    ListView.builder(
      shrinkWrap: true, // 让列表只包裹自身内容的高度
      physics: const NeverScrollableScrollPhysics(), // 禁止列表单独滚动,避免和父页面滚动冲突,不需要列表独立滚动可加
      // 其余原有参数保持不变
    )
    
    同时你已经给外层Container设置了固定高度,外层的Flexible组件属于冗余逻辑,可以直接移除Flexible包裹,只保留带固定宽高的Container即可。
    1. 校验数据源是否正常
      先硬编码itemCount: 2测试,如果能正常渲染2个卡片,说明你的books数组为空或者没有正确赋值,检查数据初始化、数据添加逻辑即可。
    1. 修复ListTile高度适配问题
      你的ListTile的trailing高度设为100,subtitle包含2行文本,默认高度不足以容纳,会导致布局异常,给ListTile添加参数:
    ListTile(
      isThreeLine: true, // 适配多行内容的高度
      // 其余原有参数保持不变
    )
    
    1. 可选优化:修正参数拼写错误
      你的customExpansionTile方法中接收子组件的参数名拼写为childern,属于拼写错误,建议修正为children避免后续维护踩坑,当前拼写和调用逻辑对应,不影响运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:18:02