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

Flutter中Map特定值无法访问的问题排查及解决方法

Flutter中Map取值错误导致输出整个Map的问题与解决方法

我在Flutter开发中遇到了无法访问Map中特定值的问题,反而会输出整个Map内容。经过排查找到原因后,现将问题与解决方法分享如下:

数据获取场景

我通过FirebaseFirestore获取数据并存储在listData对象中,相关代码如下:

@override
void initState() {
  /*get data*/
  getData();
  userId = FirebaseAuth.instance.currentUser!.uid;
  super.initState();
}

getData() async {

  try {
    if (widget.listId != null) {
      var userSnap = await FirebaseFirestore.instance
          .collection('Lists')
          .doc(widget.listId)
          .get();

      setState(() {
        listData = userSnap.data()!;
        _isloaded = true;
      });
    }
  } catch (e) {
    print(e.toString());
  }
}

var userId;//the user visiting the page
var listData = {};
bool _isloaded  =false;

错误的取值写法及结果

错误的取值代码:

Text(
    "$listData['Title']",
),

此时输出结果为:

{uid: 8qqfIvsJ5fbkdOEeyrqiunYCBw52, Description: , Cover: , ListID: c79697b0-296e-11ed-8a73-b9da6639ae48, Access: true, Title: K, Tags: []}['Title']

解决方法

去掉字符串插值的引号,直接取值:

Text(
    listData['Title'],
),

此时可正常输出特定值:

K

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:36:23