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我喜欢您建议的标题简化。