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

Flutter使用multiselect包时列表转字符串如何去除方括号展示

解决方案

Dart 中List<String>类型默认调用toString()方法时会自动带上前后方括号,你只需要调用列表自带的join()方法,即可实现逗号分隔的无括号展示效果。

代码修改

将DataCell内Text组件的传入内容替换为selected.join(',')即可,修改后完整代码如下:

List<String> selected = [];

child: DropDownMultiSelect(
  onChanged: (List<String> x) {
    setState(() {
      selected = x;
    });
  },
  options: ['S', 'M', 'L', 'XL'],
  selectedValues: selected,
  whenEmpty: 'Select Size',
),

DataCell(Text(
  // 核心修改:用join方法以逗号为分隔符拼接列表所有元素
  selected.join(','),
  style: const TextStyle(
    color: Colors.white,
    fontSize: 25.0,
  ),
)),

可选优化

  • join()方法支持自定义分隔符,如果你需要逗号加空格的展示样式,直接改为selected.join(', ')即可
  • 空选状态下join()会返回空字符串,如果你希望空选时展示默认提示,可以修改为selected.isEmpty ? '请选择尺码' : selected.join(',')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:54:04