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

Flutter网络请求:如何动态构建mailList数组避免空值提交

解决方案

你之前的代码问题在于只把邮箱字符串添加到了列表中,但接口需要的是包含mail字段的对象数组,而非纯字符串数组,而且没有将构建好的列表替换原JSON里的mailList字段。

正确的写法如下:

// 初始化空列表,用于存放邮箱对象
List<Map<String, String>> mailList = [];

// 第一个邮箱非空时添加(如果是必填项也可以省略判断,直接添加)
if (_email.text.isNotEmpty) {
  mailList.add({"mail": _email.text});
}

// 第二个邮箱非空时才添加
if (_emailTwo.text.isNotEmpty) {
  mailList.add({"mail": _emailTwo.text});
}

// 构建最终的请求数据
final requestData = {
  "taxpayer": _person,
  "customerType": _dropdownTypeClient,
  "rfc": _rfc.text,
  "name": _name.text,
  "fatherSurname": _firstName.text,
  "motherSurname": _lastName.text,
  "businessName": _razonSocial.text,
  "contact": _contact.text,
  "phone": _phone.text,
  "cell": _cellphone.text,
  "taxRegime": _dropdownTax,
  "mailList": mailList, // 替换为动态构建的非空邮箱列表
  "workType": _dropdownWorkType,
  "howToContact": _dropdownHowToContact
};

这样就能保证mailList里只包含非空的邮箱对象,不会把空值提交到数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 17:14:52