Flutter报错:type 'Null' is not a subtype of type 'TextSpan' 求助
解决Flutter中
type 'Null' is not a subtype of type 'TextSpan'错误 问题原因
你的italic函数定义时没有返回TextSpan对象,Dart中无显式return的函数默认返回null。当你在RichText的TextSpan.children里调用italic()时,实际传入的是null,而children要求的是TextSpan类型,因此触发类型不匹配错误。
修复方案
给italic函数添加返回逻辑,有两种简洁写法:
方法1:添加return语句
TextSpan italic(String text) { return TextSpan( text: text, style: TextStyle( fontSize: 17.0, fontStyle: FontStyle.italic, color: Colors.black, ), ); }
方法2:使用箭头函数(更简洁)
TextSpan italic(String text) => TextSpan( text: text, style: TextStyle( fontSize: 17.0, fontStyle: FontStyle.italic, color: Colors.black, ), );
修复后,italic()会正确返回TextSpan对象,RichText就能正常渲染文本了。
内容的提问来源于stack exchange,提问作者CastoldiG
相关产品推荐
相关产品推荐

