You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter报错:Text组件必须传入非空字符串,如何解决?

解决Flutter Text组件非空断言错误问题

问题场景

代码中Text组件存在断言判断,要求传入的data参数不可为空,但当前textSpan被赋值为null,在构建依赖MediaQuery、_InheritedProviderScope<LocationProvider?>、_InheritedTheme、_LocalizationsScope-[GlobalKey#42a4f]的Consumer时触发断言错误:

Text组件必须传入非空字符串。
报错来源:package:flutter/src/widgets/text.dart
断言失败位置:第444行第10位:'data != null'

解决办法

  • 给Text组件的data参数设置非空兜底值,比如空字符串,避免null传入:
Text(
  data ?? '', // 当data为null时用空字符串替代
  // 其他配置属性
)
  • 若无需显示文本,直接用SizedBox.shrink()替换Text组件,跳过断言检查:
SizedBox.shrink()
  • 调整textSpan的赋值逻辑,保证当textSpan为null时,data参数必有有效内容:
Text(
  textSpan == null ? "默认文本" : "",
  textSpan: textSpan,
)

内容的提问来源于stack exchange,提问作者Aravind Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 03:19:54