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

Flutter实现:仅当skill_disp非空时显示IconButton

解决方案

核心是根据skill.skill_disp的内容动态控制trailing组件的显示:当字段为空时设为null(不渲染任何内容),非空时再显示IconButton。

修改后的代码如下:

return ListTile(
  leading: CircleAvatar(child: Text(skill.skill_id)),
  title: Text(skill.skill_name),
  subtitle: Text(skill.skill_type),
  // 通过三元运算符判断是否显示尾部图标按钮
  trailing: skill.skill_disp.isNotEmpty 
      ? IconButton(
          onPressed: () {
            launchUrl(Uri.parse(skill.skill_disp));
          },
          icon: const Icon(CupertinoIcons.videocam_circle),
        )
      : null, // 为空时不渲染尾部组件
);

补充说明

  • 三元运算符condition ? 渲染内容 : 空内容是Flutter中动态控制组件显示的常用方式
  • 将空状态下的trailing设为null,ListTile会自动隐藏尾部区域,符合你的需求
  • 给Icon添加const关键字是可选的性能优化,避免重复创建相同图标实例

附列表项显示参考图:
ListTile view

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 21:27:12