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

Dart/Flutter中如何更简便地向Map添加条目?

更简便的Map条目添加方式

你完全没必要用addEntries这么绕的写法,Flutter里的Map有更直接的赋值方式:

直接用下标赋值就能搞定,这才是类似你期望的.push/.add那种简便用法:

onSaved: (newValue) {
  formValues['email'] = newValue;
},

关于你疑惑的.entries语法

{'email': newValue}是一个临时Map,.entries会把这个Map转换成Iterable<MapEntry>类型的条目集合,而addEntries方法的作用是把另一个Map的所有条目批量添加到当前Map里——你现在只加单个键值对,用这个方法纯属大材小用,多做了两步没必要的转换。

其他可选写法

如果想避免覆盖已存在的键值对,可以用putIfAbsent,只有当键不存在时才添加:

onSaved: (newValue) {
  formValues.putIfAbsent('email', () => newValue);
},

但如果只是正常保存/更新表单字段值,下标赋值是最直接简便的选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 23:09:56