Flutter 当文本小部件不为空时在ListTile中显示标题

Flutter 当文本小部件不为空时在ListTile中显示标题,flutter,Flutter,我在做一个警报项目。在我的报警列表中,描述显示为标题,时间显示为副标题。我只想在没有描述的时候看到闹钟的时间,我的问题是没有描述的时候我无法隐藏字幕。有人能帮我吗?谢谢 ListTile( title: Text( (alarm.description != null) ? '${alarm.description}' : '${format

我在做一个警报项目。在我的报警列表中,描述显示为标题,时间显示为副标题。我只想在没有描述的时候看到闹钟的时间,我的问题是没有描述的时候我无法隐藏字幕。有人能帮我吗?谢谢

ListTile(
                title: Text(
                  (alarm.description != null)
                      ? '${alarm.description}'
                      : '${formatDate(alarm.time, [HH, ':', nn])}',
                  style: Theme.of(context).textTheme.title,
                ),
                subtitle: Text(
                  (alarm.description != null)
                      ? '${formatDate(alarm.time, [HH, ':', nn])}'
                      : '',
                  style: Theme.of(context).textTheme.body1,
                ),

在subtitle属性中,首先检查描述是否不为null,如果不是,则将其传递给
文本
小部件,否则可以像这样传递
null

ListTile(
  title: Text(
    (alarm.description != null) ? '${alarm.description}' : '${formatDate(alarm.time, [HH, ':', nn])}',
    style: Theme.of(context).textTheme.title,
  ),
  subtitle: (alarm.description != null)
      ? Text(
          '${formatDate(alarm.time, [HH, ':', nn])}',
          style: Theme.of(context).textTheme.body1,
        )
      : null,
),

希望它能帮助你:)

欢迎来到SO,马克!奇怪的是,我觉得你的代码很合理。这段代码到底是怎么回事?它总是在标题上显示描述,而在副标题上什么都没有吗?嗨,乔治,谢谢你的贡献。字幕字段在卡片中是一个空白。Emmanuel建议使用null返回,这就像不在开始时调用属性一样。没错,您可以使用
??
操作符简化第一个文本,如下所示:
'${alarm.description??formatDate(alarm.time,[HH',:',nn])
Pablo我喜欢您建议的标题简化。