Flutter中Jiffy构造函数找不到错误的代码修复求助
解决Jiffy构造函数找不到的错误
你碰到的这个错误是因为Jiffy 3.0+版本废弃了直接通过Jiffy(日期参数)的构造方式,改用静态方法来初始化实例。直接修改代码就能解决:
修改关键代码行
把原来的:
timeAgo: Jiffy(json['date']).add(hours: 6).fromNow(),
替换成:
timeAgo: Jiffy.parse(json['date']).add(hours: 6).fromNow(),
如果需要更严谨地处理日期格式(比如担心json['date']格式异常),也可以先转换成DateTime对象再传入:
timeAgo: Jiffy.fromDateTime(DateTime.parse(json['date'])).add(hours: 6).fromNow(),
完整修改后的Article.fromJson方法
factory Article.fromJson(Map<String, dynamic> json){ return Article( id: json['id'] ?? 0, title: json['title']['rendered'] ?? '', content: json['content']['rendered'] ?? '', image: json['custom']["featured_image"] != false ? json['custom']["featured_image"] : WpConfig.randomPostFeatureImage, video: json['custom']['td_video'] ?? '', author: json['custom']['author']['name'] ?? '', avatar: json['custom']['author']['avatar'] ?? 'https://icon-library.com/images/avatar-icon/avatar-icon-27.jpg', date: DateFormat('dd MMMM, yyyy', 'en_US') .format(DateTime.parse(json["date"])) .toString(), timeAgo: Jiffy.parse(json['date']).add(hours: 6).fromNow(), link: json['link'] ?? 'empty', category: json["custom"]["categories"][0]["name"] ?? '', catId: json["custom"]["categories"][0]["cat_ID"] ?? 0, tags: json['tags'] ); }
额外说明
如果你的项目里Jiffy版本还停留在2.x及以下,直接用Jiffy(json['date'])是可行的,但建议升级到最新版本,使用官方推荐的parse或fromDateTime静态方法,避免后续版本迭代带来的兼容性问题。
内容的提问来源于stack exchange,提问作者Tijani El Mernissi
相关产品推荐
相关产品推荐

