我正在开发颤振应用程序,在这个应用程序中我使用TextSpan小部件来显示文本。但是,当我从方法TextSpan返回文本时,不会显示这个文本。
RichText(
text: TextSpan(
children: [
TextSpan(text:formatDate(comments[index].createdAt) +
" at " formatTime(comments[index].createdAt),
)
]
)
)
String formatDate(String time) {
var parsedDate = DateTime.parse(time);
final f = new DateFormat('MMM dd, yyyy').format(parsedDate);
String format = f.toString();
return format;
// f.format(new DateTime.fromMillisecondsSinceEpoch(values[index]["start_time"]*1000));
}
String formatTime(String time) {
var parsedDate = DateTime.parse(time);
final f = new DateFormat('hh:mm a').format(parsedDate);
String format = f.toString();
return format;
// f.format(new DateTime.fromMillisecondsSinceEpoch(values[index]["start_time"]*1000));
}createdAt:"2019-09-30T02:55:46.428Z“
发布于 2019-10-18 07:55:23
我试着重建你的案子。
而不是:
TextSpan(text:formatDate(comments[index].createdAt) +
" at " formatTime(comments[index].createdAt),
)它应该是:
TextSpan(text:formatDate(comments[index].createdAt) +
" at " + formatTime(comments[index].createdAt),
)另外,我不知道comments[index].createdAt代表什么,所以我试图分别在formatDate和formatTime方法调用中直接通过硬编码的测试date和time,并在TextSpan中提供color属性,这有助于正确地在屏幕上显示文本。以下是更新的示例工作代码:
body: Center(
child: RichText(
text: TextSpan(
children: [
TextSpan(text:formatDate("2019-09-30") +
" at " + formatTime("2019-09-30"), style: TextStyle(color: Colors.black)),
]
),
),
),结果:

希望这能有所帮助。
发布于 2019-10-18 04:28:15
试试这个:
RichText(
text: TextSpan(
children: [
TextSpan(text: '${formatDate(DateTime.now().toString())} at ${formatDate(DateTime.now().toString())}')
]
),
),
//Replace DateTime.now() with your datahttps://stackoverflow.com/questions/58443859
复制相似问题